commit d11b07ecefd192dc8872dfd1bd00ad76299306fd Author: Eriks K Date: Fri May 19 07:52:40 2023 +0300 Init diff --git a/do_prod_backup.sh b/do_prod_backup.sh new file mode 100755 index 0000000..94b6b24 --- /dev/null +++ b/do_prod_backup.sh @@ -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