From 0b5644d59e5bfe0d3d5064a96634bb68d5129ac8 Mon Sep 17 00:00:00 2001 From: julien Date: Tue, 7 Oct 2025 13:20:09 +0200 Subject: [PATCH] docker instead of nerdctl and minor changes --- README.md | 7 ++----- bin/vol-backup.sh => scripts/vol-backup | 16 ++++++++-------- bin/vol-backup-all.sh => scripts/vol-backup-all | 2 +- bin/vol-restore.sh => scripts/vol-restore | 4 ++-- sync.sh | 2 +- 5 files changed, 14 insertions(+), 17 deletions(-) rename bin/vol-backup.sh => scripts/vol-backup (55%) rename bin/vol-backup-all.sh => scripts/vol-backup-all (74%) rename bin/vol-restore.sh => scripts/vol-restore (83%) diff --git a/README.md b/README.md index 23b09d1..a7d91de 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,6 @@ # srv-scripts -Execute `sync.sh` to copy scripts on the server. - -> -> `vol-restore` is not yet finished ! +Execute `sync.sh` to copy these scripts on the server. ## Cron @@ -12,5 +9,5 @@ Add this line into the host crontab with `crontab -e`. PATH=/usr/local/bin:/usr/bin # Backup volumes every days at 4am -0 4 * * * /usr/local/bin/vol-backup-all.sh +0 4 * * * /usr/local/bin/vol-backup-all ``` diff --git a/bin/vol-backup.sh b/scripts/vol-backup similarity index 55% rename from bin/vol-backup.sh rename to scripts/vol-backup index 65b0608..766e404 100755 --- a/bin/vol-backup.sh +++ b/scripts/vol-backup @@ -8,21 +8,21 @@ if [ -d "volumes" ]; then # Dump mysql if [ -d "volumes/mysql" ]; then CONTAINER_NAME=$(echo ${PWD##*/} | sed -e 's/\.//g')_mariadb - DB_USER=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$MYSQL_USER"') - DB_PASSWORD=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$MYSQL_PASSWORD"') - DB_NAME=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$MYSQL_DATABASE"') + DB_USER=$(docker exec $CONTAINER_NAME bash -c 'echo "$MYSQL_USER"') + DB_PASSWORD=$(docker exec $CONTAINER_NAME bash -c 'echo "$MYSQL_PASSWORD"') + DB_NAME=$(docker exec $CONTAINER_NAME bash -c 'echo "$MYSQL_DATABASE"') DUMP_NAME=datadump.sql - nerdctl exec -e MYSQL_PWD=$DB_PASSWORD $CONTAINER_NAME mariadb-dump -u $DB_USER $DB_NAME > volumes/$DUMP_NAME + docker exec -e MYSQL_PWD=$DB_PASSWORD $CONTAINER_NAME mariadb-dump -u $DB_USER $DB_NAME > volumes/$DUMP_NAME fi # Dump postgres if [ -d "volumes/postgres" ]; then CONTAINER_NAME=$(echo ${PWD##*/} | sed -e 's/\.//g')_postgres - DB_USER=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_USER"') - DB_PASSWORD=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_PASSWORD"') - DB_NAME=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_DATABASE"') + DB_USER=$(docker exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_USER"') + DB_PASSWORD=$(docker exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_PASSWORD"') + DB_NAME=$(docker exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_DATABASE"') DUMP_NAME=datadump.sql - nerdctl exec -e PGPASSWORD=$DB_PASSWORD $CONTAINER_NAME pg_dump -U $DB_USER $DB_NAME > volumes/$DUMP_NAME + docker exec -e PGPASSWORD=$DB_PASSWORD $CONTAINER_NAME pg_dump -U $DB_USER $DB_NAME > volumes/$DUMP_NAME fi # Compress all volumes excerpt mysql and postgres diff --git a/bin/vol-backup-all.sh b/scripts/vol-backup-all similarity index 74% rename from bin/vol-backup-all.sh rename to scripts/vol-backup-all index 0ca4819..1b9550d 100755 --- a/bin/vol-backup-all.sh +++ b/scripts/vol-backup-all @@ -2,5 +2,5 @@ for d in /srv/*/; do cd $d - vol-backup.sh + vol-backup done diff --git a/bin/vol-restore.sh b/scripts/vol-restore similarity index 83% rename from bin/vol-restore.sh rename to scripts/vol-restore index ab965b0..1a1824e 100755 --- a/bin/vol-restore.sh +++ b/scripts/vol-restore @@ -16,9 +16,9 @@ tar --zstd --same-owner -xvf $BACKUP -C volumes # Start the service and populate db from sql file if needed if [ -f "compose.db-restore.yml" ] then - nerdctl compose -f compose.yml -f compose.db-restore.yml up -d + docker compose -f compose.yml -f compose.db-restore.yml up -d else - nerdctl compose up -d + docker compose up -d fi # Clean backup files diff --git a/sync.sh b/sync.sh index b715a4d..5c68586 100755 --- a/sync.sh +++ b/sync.sh @@ -1,3 +1,3 @@ #!/bin/bash -cp bin/* /usr/local/bin +cp scripts/* /usr/local/sbin