[Gelöst] Cronjob geht nicht

Probleme mit Samba, NFS, FTP und Co.
Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: Cronjob geht nicht

Beitrag von desputin » 27.11.2021 14:45:25

Kleines Update. Jetzt mit der aktuellen Stable-Version von Debian ging es irgendwie nicht. Deswegen hab ich die Zeilen in
crontab -e eingetragen. Wichtig hier aber seltsamerweise, eine Leerzeile ganz am Ende einzugeben. Sonst geht das irgendwie nicht.

Allerdings mußte ich erstmal meinen Lieblings-Editor einstellen:

Code: Alles auswählen

sudo update-alternatives --config editor
Nano ist ja unbedienbar, wenn man nicht mit ihm aufgewachsen ist...

Und dann wie gehabt das hier eintragen:

Code: Alles auswählen

*/7 * * * * /bin/bash --login /home/user/script1.sh
und dann am Ende:

Code: Alles auswählen

 [Leerzeile, also nur Enter drücken nach der Zeile oben] 
Zuletzt geändert von desputin am 27.11.2021 22:04:30, insgesamt 3-mal geändert.
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
TRex
Moderator
Beiträge: 8071
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Cronjob geht nicht

Beitrag von TRex » 27.11.2021 15:26:39

desputin hat geschrieben: ↑ zum Beitrag ↑
27.11.2021 14:45:25
eine Leerzeile ganz am Ende einzugeben. Sonst geht das irgendwie nicht.
Das war bei crontab aber schon immer so, siehe man crontab:
crontab(1) hat geschrieben: cron requires that each entry in a crontab end in a newline character. If the last entry in a crontab is
missing the newline, cron will consider the crontab (at least partially) broken and refuse to install it.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: [Gelöst] Cronjob geht nicht

Beitrag von desputin » 16.07.2023 00:23:50

Hm, warum geht schon wieder ein cronjob bei mir nicht?
Ich wollte, daß er um 22:42 jeden Tag losgeht und habe um 22:40 das hier eingerichtet (mit sudo crontab -e

Code: Alles auswählen

*/42 22 * * * /bin/bash --login /home/user/scripts/script1.sh
Hat aber nichts bewirkt. Hm....
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: [Gelöst] Cronjob geht nicht

Beitrag von mat6937 » 16.07.2023 00:36:31

desputin hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 00:23:50
Hat aber nichts bewirkt. Hm....
Versuch mal mit:

Code: Alles auswählen

42 22 * * * /bin/bash --login /home/user/scripts/script1.sh
BTW: Wenn Du nicht weißt wie es geht, dann den Guru fragen: https://crontab.guru/

tobo
Beiträge: 1991
Registriert: 10.12.2008 10:51:41

Re: [Gelöst] Cronjob geht nicht

Beitrag von tobo » 16.07.2023 00:54:11

Das mit den Minuten ist ungewöhnlich formuliert, aber ok so. Ich frage mich, wieso du das mit sudo absetzt, wenn das Skript doch beim User liegt. Ansonsten, protokolliere mal, ob das Skript ausgeführt wird. "Hat nichts bewirkt" ist nämlich ziemlich unaussagekräftig...

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: [Gelöst] Cronjob geht nicht

Beitrag von desputin » 16.07.2023 00:57:32

Danke. Hm, nein, hat leider nicht geklappt. Die anderen Zeilen gehen ja auch zuverlässig und die fangen alle so an */[Zahl]
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: [Gelöst] Cronjob geht nicht

Beitrag von mat6937 » 16.07.2023 09:09:09

desputin hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 00:57:32
Hm, nein, hat leider nicht geklappt.
Wie hast Du getestet, denn 22:42 Uhr war ja schon vorbei?
Versuch mal mit:

Code: Alles auswählen

29 9 * * *	logger "test: `date`"  # Uhrzeit evtl. anpassen

tobo
Beiträge: 1991
Registriert: 10.12.2008 10:51:41

Re: [Gelöst] Cronjob geht nicht

Beitrag von tobo » 16.07.2023 10:08:43

mat6937 hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 09:09:09
Wie hast Du getestet, denn 22:42 Uhr war ja schon vorbei?
Nicht beim ersten Mal: "*/42 22 * * *" bedeutet ab 22:00 Uhr alle 42 Minuten, also 22:00 und 22:42. Das kann man im Zweifel auch einfach selbst kurz testen.
Versuch mal mit:

Code: Alles auswählen

29 9 * * *	logger "test: `date`"  # Uhrzeit evtl. anpassen
Um die Richtigkeit seiner Zeile zu beweisen/widerlegen macht es irgendwie wenig Sinn, etwas völlig anderes zu testen. Interessanter ist da bestimmt: warum schreibt er in die Crontab von root und wurde das Skript ausgeführt (ist es ausführbar und angelaufen).

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: [Gelöst] Cronjob geht nicht

Beitrag von mat6937 » 16.07.2023 10:23:44

tobo hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 10:08:43
Um die Richtigkeit seiner Zeile zu beweisen/widerlegen macht es irgendwie wenig Sinn, etwas völlig anderes zu testen.
Das ist nichts anderes bzw. das ist der 1. Schritt - die Uhrzeit. Wenn er weiß wie und ob das funktioniert. kommt evtl. der 2. Schritt, mit der root-crontab, Script, shell, etc.

BTW: Wenn er _nur_ 22:42 Uhr haben will, braucht er keinen Eintrag, der um 22:00 Uhr und um 22:42 Uhr ausführt (... und genau das sagt ihm auch der crontab-guru).

tobo
Beiträge: 1991
Registriert: 10.12.2008 10:51:41

Re: [Gelöst] Cronjob geht nicht

Beitrag von tobo » 16.07.2023 10:43:49

mat6937 hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 10:23:44
tobo hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 10:08:43
Um die Richtigkeit seiner Zeile zu beweisen/widerlegen macht es irgendwie wenig Sinn, etwas völlig anderes zu testen.
Das ist nichts anderes bzw. das ist der 1. Schritt - die Uhrzeit. Wenn er weiß wie und ob das funktioniert. kommt evtl. der 2. Schritt, mit der root-crontab, Script, shell, etc.
Ah, ich dachte du fängst noch vorher an: Läuft cron überhaupt? Hat denn außer dir jemand Zweifel, dass die gezeigte Uhrzeit (um 22:42) funktioniert? Wenn du die Richtigkeit in Frage stellst, dann kannst du das doch selbst kurz nachlesen oder bei deinem Guru testen.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: [Gelöst] Cronjob geht nicht

Beitrag von mat6937 » 16.07.2023 15:23:22

tobo hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 10:43:49
Ah, ich dachte du fängst noch vorher an: Läuft cron überhaupt?
Willst Du dem TE helfen oder mit mir diskutieren? Ich will aber mit dir nicht (mehr) diskutieren und habe dich auf meine Ignorierliste gesetzt.

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: [Gelöst] Cronjob geht nicht

Beitrag von desputin » 17.07.2023 11:19:30

Hallo Ihr,
vielen Dank für die ganzen Tips.

Code: Alles auswählen

sudo systemctl status cron
--> active (running)

Ich hab jetzt einfach so was gemacht

Code: Alles auswählen

*/1440 * * * * /bin/bash --login /home/user/script1.sh
Das scheint zu gehen. Also alle 1440 Minuten = 1 Tag.

PS cron ist echt konterintuitiv. Wer das designt hat, hatte keine Ahnung davon, wie Anwender ticken.
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: [Gelöst] Cronjob geht nicht

Beitrag von mat6937 » 17.07.2023 12:18:59

desputin hat geschrieben: ↑ zum Beitrag ↑
17.07.2023 11:19:30

Code: Alles auswählen

sudo systemctl status cron
--> active (running)

Ich hab jetzt einfach so was gemacht

Code: Alles auswählen

*/1440 * * * * /bin/bash --login /home/user/script1.sh
Das scheint zu gehen. Also alle 1440 Minuten = 1 Tag.
BTW: Für einmal pro Tag könntest Du auch die cron-Syntax (siehe z. B. die manpage) benutzen:

Code: Alles auswählen

@daily	# einmal pro Tag	# cron-Schreibweise: 0 0 * * *
@midnight	# einmal pro Tag	# cron-Schreibweise: 0 0 * * *

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: [Gelöst] Cronjob geht nicht

Beitrag von desputin » 18.07.2023 18:46:54

Ich kapier es nicht, wenn ich so mache:

Code: Alles auswählen

*/1440 * * * * /bin/bash --login /home/user/script1.sh
Dann wird der Cron 1x in der Stunde ausgeführt.

Aber wie kann ich daraus 1x am Tag machen? Geht nicht.

Wenn ich das probiere:

Code: Alles auswählen

*/0 18 * * * /bin/bash --login /home/user/script1.sh
also 1x ausführen pro Tag um 18 Uhr, findet Crontab die Syntax falsch.

und das mag er auch nicht:

Code: Alles auswählen

*/ 18 * * * /bin/bash --login /home/user/script1.sh

Code: Alles auswählen

*/18 * * * /bin/bash --login /home/user/script1.sh
Mager auch nicht. Hmpf.
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [Gelöst] Cronjob geht nicht

Beitrag von JTH » 18.07.2023 18:59:15

mat6937 hat dir doch ne hilfreiche Seite verlinkt, mit der du dir die Zeitangaben erklären lassen kannst:
mat6937 hat geschrieben: ↑ zum Beitrag ↑
16.07.2023 00:36:31
BTW: Wenn Du nicht weißt wie es geht, dann den Guru fragen: https://crontab.guru/

Mit dem / drin gibst du Zeitschritte an, also z.B. alle 10 Minuten – das hieße dann auch sechsmal die Stunde.

Du willst aber ja nur einmal am Tag, zu bestimmter Uhrzeit. Das ist eigentlich einer der einfachsten Fälle:

Code: Alles auswählen

0 18 * * *
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: [Gelöst] Cronjob geht nicht

Beitrag von MSfree » 18.07.2023 19:02:15

desputin hat geschrieben: ↑ zum Beitrag ↑
18.07.2023 18:46:54
Ich kapier es nicht

Code: Alles auswählen

man 5 crontab
bringt dich wirklich nicht weiter?

Benutzeravatar
desputin
Beiträge: 1297
Registriert: 24.04.2015 17:16:34

Re: [Gelöst] Cronjob geht nicht

Beitrag von desputin » 18.07.2023 19:20:26

JTH hat geschrieben: ↑ zum Beitrag ↑
18.07.2023 18:59:15

Code: Alles auswählen

0 18 * * *
--> Jup, vielen Dank, das hat geklappt. Verstehe halt nicht, warum die anderen Zeilen mit alle x-Minuten so anfangen */30 * * *, aber die Zeile mit jede Stunde keinen Schrägstrich hat....

Meine Lösung ist also (täglich, 18 Uhr):

Code: Alles auswählen

0 18  * * * /bin/bash --login /home/user/script1.sh
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Antworten