staging.inyokaproject.org

Für diese Funktion musst du eingeloggt sein.

Ein Script geht im Crontab, das andere nicht

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

dianthus

Anmeldungsdatum:
17. Dezember 2006

Beiträge: 205

Hallo,

ich komme mit einem Problem nicht weiter. in meiner Crontab habe ich folgenden Eintrag:

*/30 * * * * /home/av/bin/zim1.sh
*/30 * * * * /home/av/bin/zim2.sh

zim1.sh und zim2.sh liegen im Verzeichnis home/**/bin/

zim1.sh sieht folgendermassen aus:

#!/bin/sh
zim --export --overwrite --output=./Nextcloud/html   --format=html --template=./Templates/hge-bootstrap.html ~/Nextcloud/Zim-Vogt

das Script funktioniert auch wie gewünscht.

Doch zim2.sh

#!/bin/sh
/opt/FreeFileSync/FreeFileSync './Templates/Sync/zim2.ffs_batch'

will einfach nicht arbeiten. Im Terminal funktioniert das Script wie gewünscht.

Was mache ich falsch?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 13293

dianthus schrieb:

Doch zim2.sh

#!/bin/sh
/opt/FreeFileSync/FreeFileSync './Templates/Sync/zim2.ffs_batch'

will einfach nicht arbeiten. Im Terminal funktioniert das Script wie gewünscht.

Was mache ich falsch?

Versuch mal mit absolutem Pfad.

dianthus

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2006

Beiträge: 205

Hallo,

vielen Dank für den Hinweis. Funktioniert leider nicht.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 13293

dianthus schrieb:

Funktioniert leider nicht.

Evtl. sind dann Ressourcen bzw. Abhängigkeiten erforderlich, die (warum auch immer) via crontab, (noch) nicht zur Verfügung stehen.

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Hallo!

Dann beschreib mal dein Setup genauer. Welcher User besitzt diesen Crontab. Wie sind die Berechtigungen in /opt und der ausführbaren Datei? Gibt es Fehlermeldungen im journalctl? Wieso crontab und nicht systemd/Timer Units?

dianthus

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2006

Beiträge: 205

Hallo, vielen Dank für eure Hilfe! Das war oder ist wohl ein Problem von FreeFileSyn. In dem Forum wurden verschiedene Ansätze erklärt. Mit diesem habe ich Erfolg!

Vielleicht bringt dem Einem oder Anderem die Information etwas.

*/25 * * * * env DISPLAY=:0 /opt/FreeFileSync/FreeFileSync ~/Templates/Sync/zim2.ffs_batch

Verstehen kann ich das zwar nicht ganz, aber es klappt.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 13293

dianthus schrieb:

*/25 * * * * env DISPLAY=:0 /opt/FreeFileSync/FreeFileSync ~/Templates/Sync/zim2.ffs_batch

Verstehen kann ich das zwar nicht ganz, ...

Via crontab war (anders als via Kommandozeile:

:~$ echo $DISPLAY
:0.0

) die Umgebungsvariable DISPLAY nicht gesetzt.

Du kannst am Anfang der crontab, diese auch allgemeingültig (d. h. für alle dort eingetragenen cronjobs, die das benötigen würden) dort eintragen, mit der Zeile:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
MAILFROM=""
DISPLAY=:0

(siehe gelbe Markierung).

dianthus

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2006

Beiträge: 205

Vielen Dank für deine Erklärung. Wieder etwas gelernt 😀 und das mit fast 61 Jahren!

Antworten |