/etc/crontab auf syntax prüfen "this crontab file will be ignored"

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
egerlach
Beiträge: 179
Registriert: 13.06.2009 17:21:50

/etc/crontab auf syntax prüfen "this crontab file will be ignored"

Beitrag von egerlach » 28.06.2020 15:57:37

Hallo,
wie prüfe ich ein /etc/crontab auf syntax-Fehler? Ein EXTRA_OPTS='-L 2' in /etc/default/cron solls bringen, liefert aber eher eine philosophische Betrachtung der crontab denn irgend ein praktischen Hinweis, wo ein Fehler sein könnte:

Code: Alles auswählen

Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 1656 (cron) in control group while starting unit. Ignoring.
Jun 28 15:43:52 archivpi systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 1670 (sh) in control group while starting unit. Ignoring.
Jun 28 15:43:52 archivpi systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 1672 (pat_exportfiles) in control group while starting unit. Ignoring.
Jun 28 15:43:52 archivpi systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 1685 (screen) in control group while starting unit. Ignoring.
Jun 28 15:43:52 archivpi systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 1687 (zeiged) in control group while starting unit. Ignoring.
Jun 28 15:43:52 archivpi systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 5609 (cron) in control group while starting unit. Ignoring.
Jun 28 15:43:52 archivpi systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 28 15:43:52 archivpi systemd[1]: cron.service: Found left-over process 5648 (sh) in control group while starting unit. Ignoring.
[...]
Jun 28 15:43:52 archivpi systemd[1]: Started Regular background program processing daemon.
Jun 28 15:43:52 archivpi cron[4141]: (CRON) INFO (pidfile fd = 3)
Jun 28 15:43:52 archivpi cron[4141]: Error: bad username; while reading /etc/crontab
Jun 28 15:43:52 archivpi cron[4141]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Jun 28 15:43:52 archivpi cron[4141]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Die Wortfetzen wie pat_exportfiles können mit einem Fehler nichts zu tun haben, die Zeilen habe ich gerade gar nicht geändert.
Meine crontab umfasst ca. 30 Einträge, habe sie umgeordnet, ein oder zwei Einträge geändert - und schon gehts nichts mehr.

Habe in der Vergangenheit Stunden damit verbracht Fehler zu finden, jetzt frage ich mal, ob die crontab die Linux-User zur Genauigkeit erziehen und notfalls mit stundenlanger Fehlersuch (einkommentieren, auskommentieren, ...) bestraften soll oder es einen "debugger" gibt, der denn nun mitteilt, welche Zeile der ca. 30 Einträge der cron nicht mehr verdaut.

Gruß
Eckard

JTH
Beiträge: 697
Registriert: 13.08.2008 17:01:41

Re: /etc/crontab auf syntax prüfen "this crontab file will be ignored"

Beitrag von JTH » 28.06.2020 18:37:27

egerlach hat geschrieben: ↑ zum Beitrag ↑
28.06.2020 15:57:37

Code: Alles auswählen

Jun 28 15:43:52 archivpi cron[4141]: Error: bad username; while reading /etc/crontab
Hilft das bei der Fehlersuche? Ist das sechste Feld bei jedem Eintrag korrekt/existiert der Benutzer?

egerlach
Beiträge: 179
Registriert: 13.06.2009 17:21:50

Re: /etc/crontab auf syntax prüfen "this crontab file will be ignored"

Beitrag von egerlach » 28.06.2020 19:33:45

Danke, das habe ich längst überprüft. Es steht überall root da. Mit try&error habe ich alle die Jahre die crontab "logarithmisch" untersucht: die Hälfte der Einträge im editor gelöscht, gespeichert, dann die volle Minute abgewartet, dann: ist die crontab jetzt akzeptiert, dann ist der Fehler im gerade gelöschten Teil, wenn nicht, dann im anderen. So habe ich immer weiter ge'hälftet, bis ich die Zeile herausgefunden hatte, die der cron bemängelt, aber nicht nennt. Wie in der Steinzeit!! :oops:

JTH
Beiträge: 697
Registriert: 13.08.2008 17:01:41

Re: /etc/crontab auf syntax prüfen "this crontab file will be ignored"

Beitrag von JTH » 28.06.2020 19:55:05

Ohne konkreten Inhalt ists eher ein Raten.

Code: Alles auswählen

crontab -e
scheint (hab noch nie was mit cron zu tun gehabt) dafür gedacht zu sein, die crontab fehlerfrei zu editieren – inklusive hilfreicher Rückmeldung, wenns hakt.

Basierend auf deinem Log würd ich weiter davon ausgehen, dass eins der ersten sechs Felder fehlt und ein Leerzeichen zu viel enthält. Und der Username dadurch verrutscht ist.

Alternativ mal

Code: Alles auswählen

cat -v /etc/crontab
falls sich ungewollte Zeichen eingeschlichen haben.

Antworten