26 lines
755 B
Bash
26 lines
755 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Schedule NPMplus backup via cron (W1-8). Run from project root.
|
||
|
|
# Usage: bash scripts/maintenance/schedule-npmplus-backup-cron.sh [--install|--show]
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||
|
|
BACKUP_SCRIPT="$PROJECT_ROOT/scripts/verify/backup-npmplus.sh"
|
||
|
|
CRON_LINE="0 3 * * * cd $PROJECT_ROOT && bash $BACKUP_SCRIPT >> $PROJECT_ROOT/logs/npmplus-backup.log 2>&1"
|
||
|
|
|
||
|
|
case "${1:-}" in
|
||
|
|
--install)
|
||
|
|
mkdir -p "$PROJECT_ROOT/logs"
|
||
|
|
(crontab -l 2>/dev/null; echo "$CRON_LINE") | crontab -
|
||
|
|
echo "Installed: $CRON_LINE"
|
||
|
|
;;
|
||
|
|
--show)
|
||
|
|
echo "Crontab line: $CRON_LINE"
|
||
|
|
;;
|
||
|
|
*)
|
||
|
|
echo "Usage: $0 [--install|--show]"
|
||
|
|
exit 0
|
||
|
|
;;
|
||
|
|
esac
|