• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

anacron cron.daily bricht ab

Hallo,

ich habe anacron installiert und keine weitere Konfiguration vorgenommen. Meine "normale" crontab ist leer (sudo crontab -l und crontab -l). Ich habe nun ein Skript in /etc/cron.daily liegen

Code:
-rwxr-xr-x   1 root root  2763 17. Jan 18:29 mirror.sh

Mein Verständnis ist dass das Skript dann einmal am Tag ausgeführt wird, insbesondere bei einem Computer der nur ab und an eingeschaltet ist passiert das nach dem booten. Mein Skript wird nicht ausgeführt, manuelles ausführen klappt ohne Probleme. in /var/log/messages kann ich sehen

Code:
2021-01-18T10:44:01.746175+01:00 linux-81tk anacron[2552]: Job `cron.daily' started
2021-01-18T10:44:01.768574+01:00 linux-81tk anacron[2552]: Job `cron.daily' terminated

Frage ist heißt "terminated" Fehler oder einfach fertig?

Wie kann ich rausfinden was hier fehl schlägt?
 

manzek

Hacker
Wenn der Rechner nur einmal am Tag gestartet wird und nicht länger als weinige Stunden am Stück läuft, wäre dein Vorhaben vermutlich besser im Bereich Autostart aufgehoben.

Wenn ich das mit Cron richtig verstanden habe, werden hier Jobs zu einer bestimmten Zeit gestartet.
Wenn zum Bleistift ein cronjob für 08:00 Uhr eingerichtet ist, der täglich wiederholt wird, wird der Rechner auch nur um Punkt 8 in dieser Hinsicht aktiv. Man müsste schon sehr zufällig den Rechner so starten, dass das Abarbeiten des cronjob exakt auf 8:00 Uhr fällt...
 
OP
K

klaus-dieter

Hacker
Bei "normalen" Cronjobs hast du recht, aber anacron sollte genau das Problem umgehen. Es sollte (mit einer gewissen Verzögerung) genau diese jobs in cron.daily nach dem Start ausführen, wenn es kein Start gibt dann zu einer bestimmten Zeit.
 
OP
K

klaus-dieter

Hacker
Code:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
 

marce

Guru
https://wiki.ubuntuusers.de/Cron/#Anacron-Anac-h-ronistic-Cron
Hinweis:

Der Skriptname darf nur große und kleine Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Andernfalls wird das Skript nicht ausgeführt. Das exakte Zeichenalphabet wird durch folgenden regulären Ausdruck definiert: "^[a-zA-Z0-9_-]+$". Punkt und Umlaute sind also beispielsweise nicht erlaubt.
Variiert zwar ein wenig über die unterschiedlichen (Ana)Cron-Implemtierungen, in den letzten 20 Jahren war das aber zu 99.999% die Ursache.
 

admine

Ultimate Guru
marce schrieb:
https://wiki.ubuntuusers.de/Cron/#Anacron-Anac-h-ronistic-Cron
Hinweis:

Der Skriptname darf nur große und kleine Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Andernfalls wird das Skript nicht ausgeführt. Das exakte Zeichenalphabet wird durch folgenden regulären Ausdruck definiert: "^[a-zA-Z0-9_-]+$". Punkt und Umlaute sind also beispielsweise nicht erlaubt.
Variiert zwar ein wenig über die unterschiedlichen (Ana)Cron-Implemtierungen, in den letzten 20 Jahren war das aber zu 99.999% die Ursache.
Aber wenn das Script "mirror.sh" heißt ... :roll:
 
OP
K

klaus-dieter

Hacker
Kann keinen Punkt, man klingt ja retro. Na gut umbenannt

Code:
2021-01-19T00:30:01.511988+01:00 linux-81tk anacron[5026]: Anacron started on 2021-01-19
2021-01-19T00:30:01.513198+01:00 linux-81tk anacron[5026]: Normal exit (0 jobs run)
2021-01-19T01:30:01.620150+01:00 linux-81tk anacron[5428]: Anacron started on 2021-01-19
2021-01-19T01:30:01.620990+01:00 linux-81tk anacron[5428]: Normal exit (0 jobs run)
2021-01-19T02:30:01.729620+01:00 linux-81tk anacron[5816]: Anacron started on 2021-01-19
2021-01-19T02:30:01.730488+01:00 linux-81tk anacron[5816]: Will run job `cron.daily' in 45 min.
2021-01-19T02:30:01.730619+01:00 linux-81tk anacron[5816]: Jobs will be executed sequentially
2021-01-19T03:15:01.730925+01:00 linux-81tk anacron[5816]: Job `cron.daily' started
2021-01-19T03:15:01.752866+01:00 linux-81tk anacron[5816]: Job `cron.daily' terminated
2021-01-19T03:15:01.753038+01:00 linux-81tk anacron[5816]: Normal exit (1 job run)

Ein Job scheint ausgeführt zu worden sein

Code:
linux-81tk:/var/log/mirror # ls -la /etc/cron.daily/
total 48
drwxr-xr-x   2 root root  4096 Jan 18 17:46 .
drwxr-xr-x 139 root root 12288 Jan 17 18:24 ..
-rwxr-xr-x   1 root root 21285 Jan  6 02:52 google-chrome
-rwxr-xr-x   1 root root  2763 Jan 17 18:29 mirror-serv-pi
-rwxr-xr-x   1 root root  2666 Jun 11  2020 suse-texlive

Mein mirror job war es nicht, der hätte ein Log geschrieben. Er zählt aber cron als gelaufen für den Tag

Code:
linux-81tk:/var/spool/anacron # more cron.daily
20210119
 

marce

Guru
was macht das Script denn? Hast Du im Script alle notwendigen Environments gesetzt / bereitgestellt (oder die Problematik umgangen)?
 
Oben