This commit is contained in:
2023-05-19 07:52:40 +03:00
commit d11b07ecef

42
do_prod_backup.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
set -e
BASEDIR='/mnt/wd1tb/prod_backup'
WORKDIR="$BASEDIR/wdir"
mkdir -p $WORKDIR
cd $WORKDIR
stamp=$(date +%Y-%m-%d)
folders="dock_books_media dock_fuelkeeper_media dock_gitea-config dock_gitea-data dock_nextcloud dock_qbit_config"
for dir in $folders
do
echo "Archiving docker volume - $dir"
enddir="$BASEDIR/docker/$dir"
mkdir -p "$enddir"
rsync -a source:/var/lib/docker/volumes/$dir $WORKDIR
tar -czf "${dir}_$stamp.tgz" -C "$WORKDIR/$dir" .
mv "${dir}_$stamp.tgz" $enddir/
done
dbs="books fuelkeeper gitea nextcloud"
for db in $dbs
do
echo "Creating postgres dump for database - $db"
enddir="$BASEDIR/postgres/$db"
mkdir -p "$enddir"
ssh source "docker exec dock-pgdb15-1 pg_dump -U postgres -F c $db" > "$db.dump"
tar -czf "${db}_${stamp}.dump.tgz" "$db.dump"
mv "${db}_${stamp}.dump.tgz" $enddir
done
cd $BASEDIR
rm -rf $WORKDIR
echo "Backing up nextcloud files..."
rsync -a --exclude="*/appdata_o*" --exclude="*/files_trashbin/*" --exclude="*/files_versions/*" --exclude="*/files_external/*" --exclude="*/uploads/*" prod:/mnt/data/nextcloud /mnt/wd1tb/prod_backup/nextcloud
echo "Copying new data to second HDD..."
rsync -a /mnt/wd1tb/prod_backup/ /mnt/sg1tb/backup