Dateien nach "/" hochladen

This commit is contained in:
2025-12-30 18:38:02 +01:00
parent c45da891d7
commit 8f8f50a036
4 changed files with 254 additions and 0 deletions

54
07_timer_enable.sh Normal file
View 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