docker instead of nerdctl and minor changes
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
for d in /srv/*/; do
|
||||
cd $d
|
||||
vol-backup.sh
|
||||
vol-backup
|
||||
done
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user