ubuntuusers.de

cron.daily startet Script nicht

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

gnude

Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Hallo, auf meinem Ubuntu Server 16.04 habe ich ein Backup-Script das ich per cron.daily eigentlich jede Nacht starten möchte. Das Script hat die gleichen Rechte wie andere Scripte in dem Verzeichnis. Wenn ich es per Hand starte, läuft es tadellos.

Der Inhalt der /etc/crontab sieht wie folgt aus:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow usroot@BACKUP:/var/log# less syslog.1 | grep daily
Jun 14 01:10:01 BACKUP CRON[6763]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
root@BACKUP:/var/log# er  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
10 1    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

In der Log-Datei ist folgendes vermerkt, was ich mal als Eintrag für die Ausführung von cron ansehe:

root@BACKUP:/var/log# less syslog.1 | grep daily
Jun 14 01:10:01 BACKUP CRON[6763]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
root@BACKUP:/var/log# 

Wo kann ich mit der Suche nach dem Fehler am besten anfangen?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Wie heißt das Script?

Wie startest Du es von Hand?

gnude

(Themenstarter)
Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Das Script heisst backup.sh und wenn ich es per Hand starte melde ich mich als root an, wechsel nach /etc/cron.daily und starte es mit: ./backup.sh

Dann klappt es auch.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4694

Wohnort: Berlin

@gnude: Ist es denn davon abhängig, dass Du es in dem Verzeichnis startest? cron hat neben $PATH auch noch andere Umgebungsvariablen nicht oder anders gesetzt — kann es daran liegen?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

gnude schrieb:

Das Script heisst backup.sh

Da haben wir den Schuldigen!

Scripte in der /etc/cron.*-Struktur dürfen keine Erweiterung (wie .sh) haben. Seltsame Restriktion, und wo man es nachlesen kann weiß ich spontan auch nicht - wahrscheinlich in einer manpage und in unserem Wiki.

Probier's mal ohne. Wobei backup-sh erlaubt wäre.

gnude

(Themenstarter)
Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Das werde ich testen, ich mache die Erweiterung weg und schaue mal ob es dann klappt. Wieder was gelernt....

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

user_unknown schrieb:

Scripte in der /etc/cron.*-Struktur dürfen keine Erweiterung (wie .sh) haben.

Sehr komische Anforderung... aber scheint tatsächlich... Bugreport von 2006? Halleluja https://bugs.launchpad.net/ubuntu/+source/debianutils/+bug/38022

Scheint eine Debian/Ubuntu Spezialität zu sein. Zum Glück ist das nicht überall so.

gnude

(Themenstarter)
Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Ich kann den Fehler bestätigen. Nachdem ich das Script umbenannt habe ... läuft es.

Antworten |