#!/bin/sh set -eu backup_dir="${1:-/backups}" stamp="$(date -u +%Y%m%dT%H%M%SZ)" mkdir -p "$backup_dir/$stamp" mysqldump --single-transaction --routines --triggers --hex-blob --set-gtid-purged=OFF \ --host="${DB_HOST:-mysql}" --port="${DB_PORT:-3306}" \ --user="$DB_USERNAME" --password="$DB_PASSWORD" "$DB_DATABASE" \ > "$backup_dir/$stamp/database.sql" tar -czf "$backup_dir/$stamp/storage.tar.gz" -C /var/www/backend/storage app test -s "$backup_dir/$stamp/database.sql" (cd "$backup_dir/$stamp" && sha256sum database.sql storage.tar.gz > SHA256SUMS) printf '%s\n' "$stamp" > "$backup_dir/latest" echo "Backup completed: $backup_dir/$stamp"