#!/bin/bash ################################################################################ ### Variables # Source directory source="/var/netig/srv" # Destination directory destination="/var/netig/bak" # Backup file name backup="bak_$(hostname -f)_$(date +"%Y%m%d").tar.zst" ################################################################################ ### Down services ( cd /var/netig/srv/status.netig.net && docker compose down ) for f in /var/netig/srv/* do if [ -d "$f" ]; then cd $f docker compose down fi done ################################################################################ ### Making the backup archive echo echo " Making the backup archive." echo tar --zstd -cf $destination/$backup -C $source . ################################################################################ ### Up services for f in /var/netig/srv/* do if [ -d "$f" ]; then cd $f if [ -d "django" ] then docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d else docker compose up -d fi fi done ################################################################################ ### Remove destination archives older than n days find $destination -name "bak_*" -type f -mtime +20 -delete ################################################################################ ### End message echo echo " Backup done." echo