/home/techb158/balavpn.abdallabala.com/scripts
Edit: /home/techb158/balavpn.abdallabala.com/scripts/setup-backup-cron.sh (1189B)
#!/usr/bin/env bash
# Sets up daily automated backups via cron
# Run once on the VPS after deployment
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
BACKUP_DIR="$(cd "$SCRIPT_DIR/.." && pwd)/backups"
mkdir -p "$BACKUP_DIR"
# Add cron job (runs daily at 3:00 AM)
CRON_JOB="0 3 * * * cd $(cd "$SCRIPT_DIR/.." && pwd) && ./scripts/backup-db.sh $BACKUP_DIR >> $BACKUP_DIR/cron.log 2>&1"
if crontab -l 2>/dev/null | grep -q "backup-db.sh"; then
echo "Backup cron job already exists. Skipping."
else
(crontab -l 2>/dev/null; echo "$CRON_JOB") | crontab -
echo "✓ Daily backup cron job added (3:00 AM)"
echo " Backups go to: $BACKUP_DIR"
echo " Run manually: ./scripts/backup-db.sh"
fi
# Also add a weekly backup to a separate rotation
WEEKLY_JOB="30 3 * * 0 cd $(cd "$SCRIPT_DIR/.." && pwd) && ./scripts/backup-db.sh $BACKUP_DIR/weekly >> $BACKUP_DIR/cron.log 2>&1"
if crontab -l 2>/dev/null | grep -q "backup-db.sh.*weekly"; then
echo "Weekly backup cron job already exists. Skipping."
else
(crontab -l 2>/dev/null; echo "$WEEKLY_JOB") | crontab -
echo "✓ Weekly backup cron job added (Sundays 3:30 AM)"
fi
echo ""
echo "Current crontab:"
crontab -l