Skip to content

Wiederkehrende Aufgaben auf Synology Diskstation mit systemd statt cron erledigen

Die Auswahl für die Wartungsaufgaben im NextCloud Interface
Die Auswahl für die Wartungsaufgaben im NextCloud Interface
Bei der Installation eines NextCloud Servers nach der Anleitung von Rafael Nockmann auf einer Synology Diskstation fiel mir auf, daß die zum Betrieb notwendigen cronjobs nicht funktionieren. Synology biegt offenbar so einiges im DSM System um. Da dieses jedoch auf Linux basiert, gibt es Hoffnung. ;-)

Zum Glück braucht es für wiederkehrende Aufgaben wie in diesem Fall nicht zwingend den cron Daemon, auch über systemd gibt es die Möglichkeit, solche zu erledigen. Langer Vorrede kurzer Sinn:

1. per ssh auf die Diskstation einloggen und dann als root per sudo -iH weitermachen. Alternativ als normaler User arbeiten und vor die Befehle dann sudo stellen.

2. mit nano /etc/systemd/system/nextcloudcron.service eine Datei mit folgendem Inhalt anlegen:

[Unit]

Description=Nextcloud cron.php job

[Service]

User=root

ExecStart=/bin/sudo -u http /usr/local/bin/php82 --define apc.enable_cli=1 /volume1/web/nextcloud_app/cron.php

KillMode=process

3. mit nano /etc/systemd/system/nextcloudcron.timer eine Datei mit folgendem Inhalt anlegen:

[Unit]

Description=Run Nextcloud cron.php every 5 minutes

[Timer]

OnBootSec=5min

OnUnitActiveSec=5min

Unit=nextcloudcron.service

[Install]

WantedBy=timers.target

4. mit systemctl enable nextcloudcron.timer die Änderungen aktivieren.

5. Diskstation neu starten und in NextCloud / Grundeinstellungen kontrollieren, ob der gewünschte Erfolg eingetreten ist.

6. Freuen :-)

Anmerkung: in nextcloudcron.service läuft der Dienst als Benutzer root, der per sudo den User http den Befehl /usr/local/bin/php82 --define apc.enable_cli=1 /volume1/web/nextcloud_app/cron.php ausführen lässt. Leider ist es - zumindest bei mir - nicht möglich, den Dienst als User http laufen zu lassen, ohne noch tiefer ins System einzugreifen.

Die Quelle: NextCloud
Hinweis: Einige der Links in diesem Beitrag beziehen sich auf Affilate-Links. Wenn Sie eines der verlinkten Produkte kaufen, unterstützen Sie mich. Das Produkt selbst wird Sie nicht mehr kosten als üblich. Vielen Dank dafür.

Note: Some of the links in this post refer to affilate links. If you buy one of the linked products, you support me. The product itself will not cost you more than usual. Thank you.
cronjob