[gelöst] Cronjob wird nicht ausgeführt

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
nephilim
Beiträge: 39
Registriert: 06.03.2017 18:11:50

[gelöst] Cronjob wird nicht ausgeführt

Beitrag von nephilim » 09.05.2018 12:57:59

Hallo zusammen,

ich habe in der Crontab einen Job drinnen, der offensichtlich nicht ausgeführt wird und ich komme nicht dahinter, was ich übersehen haben könnte, um es zum Laufen zu bekommen. Explizit geht es um den Neustart am Mittwoch (letzte Zeile).

Code: Alles auswählen

pi@pcf-cloud:~ $ uptime
 12:52:00 up 8 days,  3:00,  1 user,  load average: 0.07, 0.11, 0.06
 
pi@pcf-cloud:~ $ sudo crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
*/15 * * * * echo "$(curl -s -4 -L https://ip.***.** || echo "")" > /etc/********/extip.txt
*/15 * * * * echo "$(curl -s -6 -L https://ip.***.** || echo "")" > /etc/********/extipv6
15 3 1,15 * * /usr/local/bin/pcfeecom/dhparam.sh > /dev/null 2>&1
0 3 * * * find /var/log/letsencrypt/ -iname "*" -mtime +14 -delete > /dev/null 2>&1
0 3 1,15 * * /usr/local/bin/pcfeecom/checkcert.sh > /dev/null 2>&1
0 2 * * 3 shutdown -r now
pi@pcf-cloud:~ $
Für mich sieht es so aus, als wäre der Server seit 8 Tagen am Schaffen, obwohl er heute morgen um 2.00 Uhr hätte neu starten sollen.

System:

Code: Alles auswählen

pi@pcf-cloud:~ $ sudo cat  /etc/*release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Viele Grüße
//Nephilim
Zuletzt geändert von nephilim am 17.05.2018 06:15:42, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Cronjob wird nicht ausgeführt

Beitrag von Meillo » 09.05.2018 13:26:21

Verwende den vollen Pfad /sbin/shutdown.
Use ed once in a while!

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

Re: Cronjob wird nicht ausgeführt

Beitrag von MSfree » 09.05.2018 13:31:09

nephilim hat geschrieben: ↑ zum Beitrag ↑
09.05.2018 12:57:59

Code: Alles auswählen

0 2 * * 3 shutdown -r now
Für mich sieht es so aus, als wäre der Server seit 8 Tagen am Schaffen, obwohl er heute morgen um 2.00 Uhr hätte neu starten sollen.
Versuch es mal mit

Code: Alles auswählen

0 2 * * 3 /sbin/shutdown -r now
Cron sucht braucht Absolutpfade für die abzuarbeitenden Programme.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Cronjob wird nicht ausgeführt

Beitrag von Meillo » 09.05.2018 13:39:15

MSfree hat geschrieben: ↑ zum Beitrag ↑
09.05.2018 13:31:09
Cron sucht braucht Absolutpfade für die abzuarbeitenden Programme.
Um genau zu sein: Der wahre Grund ist, dass Cron einen anderen Wert in $PATH hat. :-P

Cron kann mit pfadlosen Programmnamen wunderbar umgehen, bloss muss man dazu halt $PATH anpassen, denn:
Manpage crontab(5) hat geschrieben: PATH is set to "/usr/bin:/bin".
Aber Achtung:
Manpage crontab(5) hat geschrieben: The value string is not
parsed for environmental substitutions or replacement of
variables, thus lines like

PATH = $HOME/bin:$PATH

will not work as you might expect.
Die meisten lassen $PATH wie es ist und verwenden absolute Pfade zu den Programmen.
Use ed once in a while!

nephilim
Beiträge: 39
Registriert: 06.03.2017 18:11:50

Re: [gelöst] Cronjob wird nicht ausgeführt

Beitrag von nephilim » 17.05.2018 06:16:45

Hallo zusammen.

Vielen Dank,

Code: Alles auswählen

/sbin/shutdown -r now
war die Lösung.

Ich freue mich.

Viele Grüße
//neph

Antworten