diff --git a/db-scheduled-backup.sh b/db-scheduled-backup.sh new file mode 100755 index 0000000..c7b56ac --- /dev/null +++ b/db-scheduled-backup.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Script to run scheduled database backups and clean up old files +# This script calls db-backup-standalone.sh and then removes backups older than 7 days + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +BACKUP_SCRIPT="$SCRIPT_DIR/db-backup-standalone.sh" + +# Ensure the backup script exists and is executable +if [ ! -f "$BACKUP_SCRIPT" ]; then + echo "Error: Backup script not found at $BACKUP_SCRIPT" + exit 1 +fi + +if [ ! -x "$BACKUP_SCRIPT" ]; then + echo "Making backup script executable..." + chmod +x "$BACKUP_SCRIPT" +fi + +# Run the backup +echo "Starting database backup..." +"$BACKUP_SCRIPT" + +# Delete backups older than 7 days +BACKUP_DIR="${BACKUP_DIR:-backups}" +if [ -d "$BACKUP_DIR" ]; then + echo "Cleaning up backups older than 7 days in $BACKUP_DIR..." + find "$BACKUP_DIR" -name "mongo-volume-backup-*.tar.gz" -type f -mtime +7 -delete + echo "Cleanup completed." +else + echo "Warning: Backup directory $BACKUP_DIR not found, skipping cleanup." +fi + +echo "Scheduled backup completed successfully."