Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 09:33:48

Hallo,

ich habe mich in den letzten Tagen gewundert, warum meine Logdateien immer größer werden. Die Rotation (logrotate und sysklogd) sollte eigentlich per cronjob gewährleistet sein. Diese beiden dort hinterlegten Scripte werden jedoch nicht ausgeführt.

vim /etc/crontab
http://nopaste.debianforum.de/7877

cat /var/log/syslog | grep cron:
http://nopaste.debianforum.de/7876

So wie ich das interpretiere wird jeden Tag um 04:27Uhr die cron.daily auch aufgerufen:

Code: Alles auswählen

ls -lah /etc/cron.daily/
drwxr-xr-x  2 root root 4,0K 2008-04-21 22:00 .
drwxr-xr-x 62 root root 4,0K 2008-04-21 22:56 ..
-rwxr-xr-x  1 root root   89 2006-04-09 00:16 logrotate
-rwxr-xr-x  1 root root 1,3K 2006-05-25 11:38 sysklogd
Nur die beiden Scripte, die hier hinterlegt sind werden nicht ausgeführt.
Wenn ich die Scripte jedoch direkt aufrufe, werden diese Fehlerfrei ausgeführt.

Was ist hier falsch?

MfG noobee

Benutzeravatar
HZB
Beiträge: 490
Registriert: 22.10.2003 11:52:15
Wohnort: Wien

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von HZB » 22.04.2008 12:51:42

Was sagt die Ausgabe von crontab -l ?

lg

HZB

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 12:54:41

Gute Idee!

Hmm - komisch:

Code: Alles auswählen

/# crontab -l
no crontab for root

Benutzeravatar
HZB
Beiträge: 490
Registriert: 22.10.2003 11:52:15
Wohnort: Wien

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von HZB » 22.04.2008 13:02:38

Dann editiere deine crontab mit

Code: Alles auswählen

crontab -e
. Dann sollte es funktionieren.

lG

HZB

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 13:13:26

Das heist, dass ich alles, was in der /etc/crontab hinterlegt ist:

Code: Alles auswählen

# m h dom mon dow user  command
32 * * * * root    cd / && run-parts --report /etc/cron.hourly
27 4 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
19 0 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
56 2 19 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
einfach noch einmal als root mit

Code: Alles auswählen

crontab -e
einrichte und gut?

Hm - ich versuche es mal...

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 13:59:13

Hmm, nix -> gleiches Problem.

Ich habe jetzt den die Einträge von /etc/crontab in crontab -e eingefügt.

Der cron

Code: Alles auswählen

Apr 22 13:53:01 /USR/SBIN/CRON[28648]: (root) CMD (root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
wird auch wieder ausgeführt, nur ruft er nicht die Scripte in /etc/cron.daily/ auf.

Ich könnte nun die beiden Scripte in /etc/cron.daily in die crontab -e eintragen, finde die Lösung jedoch nicht so schön da ich dann für jedes weitere Script einen Eintrag in crontab -e setzen müsste.

Woran kann es noch liegen?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von cosmac » 22.04.2008 14:40:36

hi,

normalerweise müsstest du Mails mit Fehlermeldungen bekommen,
notfalls schau mal in /var/mail nach.

Andere Möglichkeit: anacron ist installiert, läuft aber nicht. Auf einem
Rechner, der 24x7 läuft, sollte anacron nicht installiert sein.

Die Geschichte mit "crontab -e" finde ich (für System-Jobs) auch
nicht so toll und glaub' auch nicht, dass es daran liegt.
Beware of programmers who carry screwdrivers.

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 14:52:21

cosmac hat geschrieben: normalerweise müsstest du Mails mit Fehlermeldungen bekommen,
notfalls schau mal in /var/mail nach.
Super Tipp! - Danke - Hab die Mails zwar immer gesehen aber natürlich nie reingeschaut :roll:

Code: Alles auswählen

Message 1:
From root@XXXXXXX  Tue Apr 22 13:53:01 2008
X-Original-To: root
From: root@XXXXXX.de (Cron Daemon)
To: root@XXXXXXXXX
Subject: Cron <root@XXXXXXXX> root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Date: Tue, 22 Apr 2008 13:53:01 +0200 (CEST)

/bin/sh: root: command not found
/etc/cron.daily/sysklogd:
/etc/cron.daily/sysklogd: line 35: syslogd-listfiles: command not found
/etc/cron.daily/sysklogd: line 43: syslogd-listfiles: command not found
Die gute Nachricht ist ja nun, dass die Scripte in /etc/cron.daily/ scheinbar aufgerufen werden.
Die schlechte sind die Fehlermeldungen.

Die Syntax des Scriptes hier: http://nopaste.debianforum.de/7880
Er meckert beide Male bei "done"

Das Script ist von der Debianinstallation und wurde von mir nicht verändert. Der Aufruf des Scriptes geschah aufgrund des Eintages in crontab -e
cosmac hat geschrieben: Andere Möglichkeit: anacron ist installiert, läuft aber nicht. Auf einem
Rechner, der 24x7 läuft, sollte anacron nicht installiert sein.
Sondern was als Alternative nutzen... ?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von cosmac » 22.04.2008 15:17:58

alle Fehlermeldungen in der Mail sind Folgefehler von "crontab -e"
und dürften mit der systemweiten crontab nicht auftreten:
- "root" gehört nur dort rein, mit "crontab -e" muss das raus
- in PATH fehlen /sbin und /usr/sbin, deshalb fehlt "syslogd-listfiles"

Probier das nochmal ohne "crontab -e", dann sollte es Mail mit
der eigentlichen Fehlermeldung geben.
Beware of programmers who carry screwdrivers.

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 16:08:15

Vielen Dank für die Hilfe cosmac !

Ich habe jetzt folgendes getan:

1. crontab -e geleert (alle crons entfernt)

2. /etc/crontab überprüft

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
32 * * * * root    cd / && run-parts --report /etc/cron.hourly
59 15 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
19 0 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
56 2 19 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Hier sind /sbin und /usr/sbin integriert.

3. /etc/crontab.daily laufen lassen

Code: Alles auswählen

Apr 22 15:59:01 /USR/SBIN/CRON[15498]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Es wird hier jedoch keine Mail an root versandt.
logrotate wurde auch nicht durchgeführt.

Ich hoffe ich habe Dich nicht falsch verstanden...

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von cosmac » 22.04.2008 18:32:31

du hast mich schon richtig verstanden. Liegt es vielleicht daran?
'man logrotate' hat geschrieben: Normally, logrotate is run as a daily cron job. It will not modify a
log more than once in one day unless the criterion for that log is
based on the log's size and logrotate is being run more than once each
day, or unless the -f or --force option is used.
Beware of programmers who carry screwdrivers.

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 22.04.2008 20:41:43

Ja, habe ich auch schon dran gedacht.

Aber dann müsste wenigstens /etc/cron.daily/sysklogd ausgeführt werden. Hier besteht diese Beschränkung ja nicht. Und müsste in der /var/log/syslog das Script wenigstens als aufgerufen zu sehen sein?
(Ein bisschen viel müsste, ich weiß...)

Ich habe nun einfach mal -f im logrotate-Script hinzugefügt und mir das angeschaut. Wieder nur

Code: Alles auswählen

Apr 22 20:39:01 /USR/SBIN/CRON[30457]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
und nichts weiter.

So langsam weiß ich nicht weiter. Ich neige bald dazu, dass irgendwas mit anacron nicht stimmt...

noobee
Beiträge: 10
Registriert: 22.04.2008 09:04:19
Wohnort: Berlin

Re: Cronjobs in /etc/cron.daily/ werden nicht ausgeführt

Beitrag von noobee » 23.04.2008 22:09:26

So, ich hab mich heute hingesetzt und das ganze System neu aufgesetzt.
Und was soll ich sagen, es ist immer noch das selbe Problem... :evil:

Ich glaube ich geb's auf...
Ich denke ich werde einfach die beiden logrotate/sysklogd - Scripte direkt in die crontab einbinden und gut ist...

(Zufrieden bin ich damit irgendwie überhaupt nicht...)

Antworten