#!/bin/bash # Variables SOURCE="/home" DESTINATION="root@95.111.226.241:/var/sites_backups/amapiano.co" DB_BACKUP_DIR="/root/db_backups" DATE=$(date +%F) # Log start time echo "==== Backup started at $(date) ====" # Create DB backup directory if it doesn't exist mkdir -p "$DB_BACKUP_DIR" # Dump all databases mysqldump --all-databases --single-transaction --quick --lock-tables=false > "$DB_BACKUP_DIR/all-databases-$DATE.sql" # Optional: Compress the SQL file gzip -f "$DB_BACKUP_DIR/all-databases-$DATE.sql" # Rsync files and DB backups rsync -av --delete "$SOURCE" "$DESTINATION" rsync -av --delete "$DB_BACKUP_DIR" "$DESTINATION/db_backups" # Log end time echo "==== Backup completed at $(date) ===="