#!/bin/bash receiving_ip= receiving_user= receiving_port= site_name=$(ls /var/www/repositories/ | grep -v '^cms') db_password=$(cat /var/www/repositories/cms*/.env | grep DB_PASSWORD | sed "s/[^']*'\([^']*\)'.*/\1/") current_date=$(date +'%d-%m-%y_%H-%M') export_folder="~/backup/${site_name}_export_${current_date}" mkdir -p "${export_folder}" mysqldump -u directus -p"${db_password}" directus > "${export_folder}/db_${site_name}_${current_date}.sql" cp -r /var/www/repositories/cms*/uploads "${export_folder}" cp -r /var/www/repositories/cms*/.env "${export_folder}" tar -czf "${export_folder}.tar.gz" -C ~/backup/ . ssh -p $receiving_port $receiving_user@$receiving_ip << 'EOF' mkdir -p "~/backups/${site_name}" ls -tp "~/backups/${site_name}" | grep -v '/$' | tail -n +3 | xargs -I {} rm -- {} EOF scp -P $receiving_port "~/backup/${export_folder}.tar.gz" "${receiving_user}@${receiving_ip}:~/backups/${site_name}" rm -r ~/backup/