Dateien nach "/" hochladen
This commit is contained in:
54
07_timer_enable.sh
Normal file
54
07_timer_enable.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SERVICE_NAME="raspi-backup.service"
|
||||
TIMER_NAME="raspi-backup.timer"
|
||||
SERVICE_PATH="/etc/systemd/system/${SERVICE_NAME}"
|
||||
TIMER_PATH="/etc/systemd/system/${TIMER_NAME}"
|
||||
|
||||
[[ "${EUID:-$(id -u)}" -eq 0 ]] || { echo "Bitte mit sudo starten: sudo $SCRIPT_DIR/07_timer_enable.sh"; exit 1; }
|
||||
command -v systemctl >/dev/null 2>&1 || { echo "systemctl nicht gefunden."; exit 1; }
|
||||
|
||||
RUN_SCRIPT="$SCRIPT_DIR/04_run_backup.sh"
|
||||
[[ -x "$RUN_SCRIPT" ]] || { echo "FEHLT oder nicht ausführbar: $RUN_SCRIPT"; exit 1; }
|
||||
|
||||
cat >"$SERVICE_PATH" <<EOF
|
||||
[Unit]
|
||||
Description=Raspi Backup (runs 04_run_backup.sh)
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=${RUN_SCRIPT}
|
||||
|
||||
# etwas Hardening
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=full
|
||||
ProtectHome=false
|
||||
EOF
|
||||
|
||||
cat >"$TIMER_PATH" <<EOF
|
||||
[Unit]
|
||||
Description=Raspi Backup daily timer
|
||||
|
||||
[Timer]
|
||||
OnCalendar=daily
|
||||
Persistent=true
|
||||
RandomizedDelaySec=10m
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now "$TIMER_NAME"
|
||||
|
||||
echo "Timer aktiviert."
|
||||
echo "Status:"
|
||||
systemctl --no-pager status "$TIMER_NAME" || true
|
||||
echo
|
||||
echo "Nächste Runs anzeigen:"
|
||||
systemctl list-timers --all | grep -E "raspi-backup\.timer|NEXT" || true
|
||||
Reference in New Issue
Block a user