Wichtig: alles als User, nichts als root.
Du machst dir ein Script so wie von mir gepostet, dies gespeichert in ~/bin/irgendwas und ausführbar gemacht.
Dann rufst du das Script in der Konsole mit dem von dir vergeben Namen auf. wenn das klappt gut, sonst schauen.
Dann baust du dir eine service
cat bin/backup-Hetzner/backup-hetzner-alt.service
[Unit]
Description=Backup Script von Server xxx.xxx.xxx.xxx nach /mnt/2TB/Backup/Serveralt/, logs ebenfalls /mnt/2TB/Backup/Serveralt/
[Service]
Type=oneshot
ExecStart=/home/stephan/bin/backup-Hetzner/backup-hetzner-alt.sh
PrivateTmp=true
stephan@linux64:~>
In die Zeile ExecStart kommt dann der Name deines Scripts, am besten wie bei mir mit komplettem Pfad.
Diesen Service speicherst du ebenfalls in dem Ordner, in dem das Scrip liegt, am besten mit gleichem Namen.service.
Den Service führst du jetzt einmal aus, um zu schauen, ob es läuft.
systemctl --user start Name.service
Dann erstellst du einen Timer
cat bin/backup-Hetzner/backup-hetzner-alt.timer
[Unit]
Description=Run backup-hetzner-alt once a day
[Timer]
OnCalendar=*-*-1,4,8,12,16,20,24,28 22:00:00
RandomizedDelaySec=300
Persistent=true
Unit=backup-hetzner-alt.service
[Install]
WantedBy=timers.target
stephan@linux64:~>
Alles anzeigen
wichtig ist die Zeile OnCalendar
siehe
systemd/Timers - ArchWiki
Speichern ebenfalls mit Namen.timer
Den startest du dann mit
systemctl --user enable Name.timer
systemctl --user start Name.timer
Das zeigt die User timers an:
systemctl --user list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Fri 2025-01-10 17:33:48 CET 8h Thu 2025-01-09 17:33:48 CET 15h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Sun 2025-01-12 06:03:22 CET 1 day 20h Wed 2025-01-08 06:04:00 CET - backup-hetzner-neu.timer backup-hetzner-neu.service
Sun 2025-01-12 22:04:40 CET 2 days Wed 2025-01-08 22:00:23 CET 1 day 11h ago backup-hetzner-alt.timer backup-hetzner-alt.service
3 timers listed.
Auch wann des letzten mal gestartet und wann das nächste Mal.
Gespeichert werden die in ~/.config/systemd/user
Edit:
evtl. musst du die .service und .timer Datei nach dorthin verschieben, bevor du diese starten und enable kannst.