26 lines
1.0 KiB
Bash
26 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
# policy: dev_timeshift-backup — daily Timeshift snapshot at 03:00.
|
|
# Applied when host is member of dev_timeshift-backup host-group.
|
|
|
|
TIMESHIFT_CRON="$CRON_DIR/ansipa-timeshift-backup"
|
|
|
|
if [[ "$WANT_TIMESHIFT_BACKUP" == true ]]; then
|
|
if [[ ! -f "$TIMESHIFT_CRON" ]]; then
|
|
if ! command -v timeshift &>/dev/null; then
|
|
warn "timeshift not found — add host to dev_mod_timeshift first. Cron will be installed anyway."
|
|
fi
|
|
log "Enabling daily Timeshift backups"
|
|
cat > "$TIMESHIFT_CRON" <<'CRON'
|
|
# ansipa-dev_timeshift-backup: managed by ansipa-enforce-policies — do not edit manually.
|
|
# Timeshift must be configured on this host (type + target device) before snapshots work.
|
|
0 3 * * * root /usr/bin/timeshift --create --comments "ansipa-daily" --tags D 2>&1 | logger -t timeshift-backup
|
|
CRON
|
|
chmod 644 "$TIMESHIFT_CRON"
|
|
fi
|
|
else
|
|
if [[ -f "$TIMESHIFT_CRON" ]]; then
|
|
rm -f "$TIMESHIFT_CRON"
|
|
log "Removed Timeshift backup cron (host left dev_timeshift-backup group)"
|
|
fi
|
|
fi
|