Init
This commit is contained in:
42
do_prod_backup.sh
Executable file
42
do_prod_backup.sh
Executable 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
|
Reference in New Issue
Block a user