#!/usr/bin/env bash # Schedule daily/weekly maintenance checks (O-1, O-2, O-3). Run from project root. # Usage: bash scripts/maintenance/schedule-daily-weekly-cron.sh [--install|--show] set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" CHECKS_SCRIPT="$PROJECT_ROOT/scripts/maintenance/daily-weekly-checks.sh" LOG_DIR="$PROJECT_ROOT/logs" CRON_DAILY="0 8 * * * cd $PROJECT_ROOT && bash $CHECKS_SCRIPT daily >> $LOG_DIR/daily-weekly-checks.log 2>&1" CRON_WEEKLY="0 9 * * 0 cd $PROJECT_ROOT && bash $CHECKS_SCRIPT weekly >> $LOG_DIR/daily-weekly-checks.log 2>&1" case "${1:-}" in --install) mkdir -p "$LOG_DIR" (crontab -l 2>/dev/null; echo "$CRON_DAILY"; echo "$CRON_WEEKLY") | crontab - echo "Installed daily (08:00) and weekly (Sun 09:00):" echo " $CRON_DAILY" echo " $CRON_WEEKLY" ;; --show) echo "Daily (O-1, O-2): $CRON_DAILY" echo "Weekly (O-3): $CRON_WEEKLY" ;; *) echo "Usage: $0 [--install|--show]" exit 0 ;; esac