#!/bin/bash # Phase 6, Plan 02, Task 3: Install Cron Jobs for Automated Backups # Run with: sudo bash config/backup-cron.sh DEPLOY_DIR=$(pwd) CRON_SCHEDULE_DAILY="0 2 * * *" # 2 AM every day CRON_SCHEDULE_WEEKLY="0 3 * * 0" # 3 AM every Sunday # Check if running with sudo if [[ $EUID -ne 0 ]]; then echo "This script must be run with sudo" exit 1 fi echo "Installing cron jobs for automated backups..." # Create logs directory if it doesn't exist mkdir -p "$DEPLOY_DIR/logs" # Install daily backup (crontab -l 2>/dev/null | grep -v "inventory backup" || echo ""; \ echo "$CRON_SCHEDULE_DAILY cd $DEPLOY_DIR && bash scripts/backup.sh daily >> logs/backup-daily.log 2>&1") | \ crontab - # Install weekly backup (crontab -l 2>/dev/null | grep -v "inventory backup" || echo ""; \ echo "$CRON_SCHEDULE_WEEKLY cd $DEPLOY_DIR && bash scripts/backup.sh weekly 90 >> logs/backup-weekly.log 2>&1") | \ crontab - echo "✓ Cron jobs installed" echo " Daily backup: $CRON_SCHEDULE_DAILY (retention: 30 days)" echo " Weekly backup: $CRON_SCHEDULE_WEEKLY (retention: 90 days)" echo "" echo "View active cron jobs:" crontab -l | grep backup