cron.d startet nicht - in /etc/crontab geht es aber

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
tempes2k
Beiträge: 15
Registriert: 21.09.2011 17:14:47

cron.d startet nicht - in /etc/crontab geht es aber

Beitrag von tempes2k » 21.09.2011 17:22:35

Hallo Community,

ich verwende das Skript automysqlbackup und habe heute versucht dies automatisiert via cron zu starten.

Zur zeit läuft das Skript in /etc/crontab und ist wie folgt eingetragen:
läuft also um 16.30h, täglich. das läuft auch super soweit.

Code: Alles auswählen

# /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 user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	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 )
30 16	* * *	root	/usr/local/bin/automysqlbackup
#
-----------------

Da ich zur Zeit mit Cron beschäftige würde ich gerne das Skript im Verzeichnis /etc/cron.d eintragen.
Dort habe ich eine Datei mit Recht 777 owner root angelegt und "automysqlbackup" genannt.

In der Datei befindet sich folgender Inhalt:

Code: Alles auswählen


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

# m h dom mon dow user  command
55 16   * * *   root    /usr/local/bin/automysqlbackup


--------------

Das Skript sollte also um 16.55h starten. Startet es aber nicht.


Diesen Artikel habe ich mir ein wenig zur Hilfe genommen:
http://wiki.ubuntuusers.de/cron

Auch folgende Variante habe ich probiert:

Code: Alles auswählen


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

# m h dom mon dow user  command
55 16   * * *   root  /bin/bash  /usr/local/bin/automysqlbackup


--------------

leider ohen ERfolg - verstehe nicht warum es in "crontab" läuft aber in cron.d nicht.

Vielleicht kann mir jemand den "feinen" Unterschied erläutren oder TIpps zum "Debuggen" geben.

/etc/init.d/cron restart habe ich nach jeder Änderung ausgeführt (zur Sicherheit)



Grüße

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: cron.d startet nicht - in /etc/crontab geht es aber

Beitrag von rendegast » 21.09.2011 17:39:33

Aus der manpage:
cron [-n | -p | -m<mailcommand>]
cron -x [ext,sch,proc,pars,load,misc,test,bit]
Description

Cron should be started from /etc/rc.d/init.d or /etc/init.d
....
.....
Options
...
-n
This option changes default behavior causing it to run crond in the foreground. This can be useful when starting it out of init.
....
-x
With this option is possible to set debug flags.
Aus der init.d/ heraus im Vordergrund ist eigentlich unsinnig (per EXTRA_OPTS, /etc/default/cron),
also für den Testfall einfach mal von der Kommandozeile aufrufen.


mit Recht 777 owner root
Vielleicht verweigert er deshalb die Ausführung,
wäre ja eine gute Vorlage für malware.
Die normalen Rechte dort wären root:root 644 ?
Eventuell gibt es darüber ja schon Log-Einträge?

Wie die Datei geschrieben? Vielleicht mit Steuerzeichen?
Schau sie mal generisch an

Code: Alles auswählen

cat -A /etc/cron.d/automysqlbackup
Guter Testeintrag für sowas ist immer
* * * * * root /usr/bin/beep -r3
(falls das Gerät auch piepsen kann)

Setzt das Skript um 16:30 vielleicht eine Sperrdatei o.ä.,
um Doppelausführung zu verhindern?
Resp. prüft das Skript vielleicht auf schon getätigte tägliche Ausführung?
/etc/init.d/cron restart habe ich nach jeder Änderung ausgeführt (zur Sicherheit)
Ist bei cron unnötig.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Ingo1965
Beiträge: 1
Registriert: 06.03.2016 10:59:19

Re: cron.d startet nicht - in /etc/crontab geht es aber

Beitrag von Ingo1965 » 06.03.2016 11:03:43

Mir ist folgendes passiert:

Ich hatte einen Hardlink auf eine Tabelle in cron.d gelegt.
Dies scheint Jessie nicht zu gefallen und verweigert die Ausführung.
Squeeze war da nicht so pingelig.

Antworten