#!/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