docker instead of nerdctl and minor changes
This commit is contained in:
@@ -1,9 +1,6 @@
|
|||||||
# srv-scripts
|
# srv-scripts
|
||||||
|
|
||||||
Execute `sync.sh` to copy scripts on the server.
|
Execute `sync.sh` to copy these scripts on the server.
|
||||||
|
|
||||||
>
|
|
||||||
> `vol-restore` is not yet finished !
|
|
||||||
|
|
||||||
## Cron
|
## Cron
|
||||||
|
|
||||||
@@ -12,5 +9,5 @@ Add this line into the host crontab with `crontab -e`.
|
|||||||
PATH=/usr/local/bin:/usr/bin
|
PATH=/usr/local/bin:/usr/bin
|
||||||
|
|
||||||
# Backup volumes every days at 4am
|
# 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
|
# Dump mysql
|
||||||
if [ -d "volumes/mysql" ]; then
|
if [ -d "volumes/mysql" ]; then
|
||||||
CONTAINER_NAME=$(echo ${PWD##*/} | sed -e 's/\.//g')_mariadb
|
CONTAINER_NAME=$(echo ${PWD##*/} | sed -e 's/\.//g')_mariadb
|
||||||
DB_USER=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$MYSQL_USER"')
|
DB_USER=$(docker exec $CONTAINER_NAME bash -c 'echo "$MYSQL_USER"')
|
||||||
DB_PASSWORD=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$MYSQL_PASSWORD"')
|
DB_PASSWORD=$(docker exec $CONTAINER_NAME bash -c 'echo "$MYSQL_PASSWORD"')
|
||||||
DB_NAME=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$MYSQL_DATABASE"')
|
DB_NAME=$(docker exec $CONTAINER_NAME bash -c 'echo "$MYSQL_DATABASE"')
|
||||||
DUMP_NAME=datadump.sql
|
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
|
fi
|
||||||
|
|
||||||
# Dump postgres
|
# Dump postgres
|
||||||
if [ -d "volumes/postgres" ]; then
|
if [ -d "volumes/postgres" ]; then
|
||||||
CONTAINER_NAME=$(echo ${PWD##*/} | sed -e 's/\.//g')_postgres
|
CONTAINER_NAME=$(echo ${PWD##*/} | sed -e 's/\.//g')_postgres
|
||||||
DB_USER=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_USER"')
|
DB_USER=$(docker exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_USER"')
|
||||||
DB_PASSWORD=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_PASSWORD"')
|
DB_PASSWORD=$(docker exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_PASSWORD"')
|
||||||
DB_NAME=$(nerdctl exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_DATABASE"')
|
DB_NAME=$(docker exec $CONTAINER_NAME bash -c 'echo "$POSTGRES_DATABASE"')
|
||||||
DUMP_NAME=datadump.sql
|
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
|
fi
|
||||||
|
|
||||||
# Compress all volumes excerpt mysql and postgres
|
# Compress all volumes excerpt mysql and postgres
|
||||||
@@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
for d in /srv/*/; do
|
for d in /srv/*/; do
|
||||||
cd $d
|
cd $d
|
||||||
vol-backup.sh
|
vol-backup
|
||||||
done
|
done
|
||||||
@@ -16,9 +16,9 @@ tar --zstd --same-owner -xvf $BACKUP -C volumes
|
|||||||
# Start the service and populate db from sql file if needed
|
# Start the service and populate db from sql file if needed
|
||||||
if [ -f "compose.db-restore.yml" ]
|
if [ -f "compose.db-restore.yml" ]
|
||||||
then
|
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
|
else
|
||||||
nerdctl compose up -d
|
docker compose up -d
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clean backup files
|
# Clean backup files
|
||||||
Reference in New Issue
Block a user