cron, sysklogd

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
JuergenE
Beiträge: 5
Registriert: 19.11.2009 16:47:40

cron, sysklogd

Beitrag von JuergenE » 19.11.2009 16:51:34

Guten Tag zusammen,

ich bekomme per Mail seit einiger Zeit folgende Meldung:

Code: Alles auswählen

/bin/sh: root: command not found
/etc/cron.daily/man-db:
/etc/cron.daily/man-db: line 20: start-stop-daemon: command not found
run-parts: /etc/cron.daily/man-db exited with return code 127
/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
Komischerweise meckerte cron auf einmal den User root an bei den rotate scripts. Wenn ich die User aus crontab -e entferne funktioniert wieder alles bis auf cron daily, selbst wenn ich den root- Eintrag entferne.

Kann mir wer helfen die Fehler zu beseitige, weiß wer Rat?

Danke und Gruß,

Jürgen

JuergenE
Beiträge: 5
Registriert: 19.11.2009 16:47:40

Re: cron, sysklogd

Beitrag von JuergenE » 19.11.2009 17:11:12

Hab vergessen:

Wenn ich /etc/cron.daily/sysklogd bzw. /etc/cron.daily/man-db manuell ausführe funktioniert alles ohne Fehler.

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

Re: cron, sysklogd

Beitrag von rendegast » 20.11.2009 00:10:41

Kannst Du mal die /etc/crontab, /etc/default/cron posten, wegen eventueller Syntaxfehler.
Eventuell auch die crontabs der User?

Wohin zeigt der Link?

Code: Alles auswählen

ls -l /bin/sh
Mal eine einfache Cron-Datei zur Kontrolle des Environment,
/etc/cron.daily/aaaaaaa:

Code: Alles auswählen

set > /tmp/cron.SET
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

JuergenE
Beiträge: 5
Registriert: 19.11.2009 16:47:40

Re: cron, sysklogd

Beitrag von JuergenE » 20.11.2009 20:15:38

Inhalt der crontab:

Code: Alles auswählen

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

# m h dom mon dow user  command
#46 * * * * root cd / && run-parts --report /etc/cron.hourly
#15 2 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
#45 0 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
#53 2 20 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

# * */6 * * * root /root/confixx/ftptraffik.pl
# * */4 * * * root /root/confixx/mailtraffikpop3.pl
# * */4 * * * root /root/confixx/mailtraffiksmtp.pl
#*/2 * * * * root sleep 68; /root/confixx/confixx_counterscript.pl
# */1 * * * * /root/confixx/confixx_counterscript.pl
#*/1 * * * * root /root/confixx/confixx_counterscript.pl
#0 0 * * * root /root/confixx/auto_reg.pl
Keine /etc/default/cron vorhanden.

crontab -e:

Code: Alles auswählen

# m h  dom mon dow   command
17 *    * * *   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   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

#46 * * * * cd / && run-parts --report /etc/cron.hourly
#15 2 * * * -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
#45 0 * * 7 -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
#53 2 20 * * -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

* 8 7,14,21,28 * * rkhunter --cronjob
* 7 7,14,21,28 * *   root    (cd /usr/sbin; ./chkrootkit 2>&1 | mail -s "chkrootkit output" <MAILADRESSE>)

* */3 * * * /root/confixx/mailtraffikpop3.pl
* */3 * * * /root/confixx/mailtraffiksmtp.pl

59 * * * * /root/confixx/confixx_counterscript.pl

Code: Alles auswählen

ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jun 30  2008 /bin/sh -> bash
Danke & Gruß,

Jürgen

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

Re: cron, sysklogd

Beitrag von rendegast » 20.11.2009 20:36:15

/bin/sh: root: command not found
Liegt vielleicht daran?:
'crontab -e':
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
...
* 7 7,14,21,28 * * root (cd /usr/sbin; ./chkrootkit 2>&1 | mail -s "chkrootkit output" <MAILADRESSE>)




Die Systemjobs hourly|daily|weekly|monthly sind in die crontab von root verlagert.
/etc/cron.daily/man-db:
/etc/cron.daily/man-db: line 20: start-stop-daemon: command not found
run-parts: /etc/cron.daily/man-db exited with return code 127
/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
Ich halte das für (böse) Pfad-Probleme, unter 'crontab -e' ist ja keiner explizit definiert:
/sbin/start-stop-daemon (aus dpkg)
/usr/sbin/syslogd-listfiles (aus sysklogd)
Also gelten nur die Builtin-Programme der sh selbst?
Das Environment mit einem Job in der root-crontab ausgeben lassen:

Code: Alles auswählen

1 * * * * set > /tmp/SET
(oder ähnlich)
und eventuell einen Pfad setzen:

Code: Alles auswählen

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




--------------------
/etc/cron.daily/sysklogd: line 35: syslogd-listfiles:
/etc/cron.daily/sysklogd: line 43: syslogd-listfiles:
Die Zeilenangaben stimmen nicht mit der /etc/cron.daily/sysklogd aus 1.5-5 (lenny, squeeze, sid) oder 1.4.1 (etch),
modifiziert?

--------------------
Hier warten noch ein paar Ostereier?
#15 2 * * * -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
#45 0 * * 7 -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
#53 2 20 * * -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

JuergenE
Beiträge: 5
Registriert: 19.11.2009 16:47:40

Re: cron, sysklogd

Beitrag von JuergenE » 21.11.2009 13:28:37

Liegt vielleicht daran?:
'crontab -e':

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
...
* 7 7,14,21,28 * * root (cd /usr/sbin; ./chkrootkit 2>&1 | mail -s "chkrootkit output" <MAILADRESSE>)
Das komische ist das es von heute auf morgen nicht mehr ging. Die Userangabe root war bisher nie ein Problem. Auch wenn ich den user raus nehme geht es nicht. Hat damit also wenig zu tun.
/etc/cron.daily/sysklogd: line 35: syslogd-listfiles:
/etc/cron.daily/sysklogd: line 43: syslogd-listfiles:
Die Zeilenangaben stimmen nicht mit der /etc/cron.daily/sysklogd aus 1.5-5 (lenny, squeeze, sid) oder 1.4.1 (etch),
modifiziert?
Nein, an diesen Zeilen wurden keine Veränderungen seit anlegen des Servers gemacht.
Die Systemjobs hourly|daily|weekly|monthly sind in die crontab von root verlagert.
Wo gehören die normalerweise hin, dann kopiere ich da da einfach rein und gut ist hoffentlich :D
und eventuell einen Pfad setzen:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Den Pfad habe ich jetzt gesetzt.

---

Was für Ostereier?

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

Re: cron, sysklogd

Beitrag von rendegast » 21.11.2009 15:52:25

Die Userangabe root war bisher nie ein Problem
Richtig, jedoch wird irgendwo "root" als Kommando interpretiert,
und das paßt so gut.
Diese User-Angabe macht in der user-eigenen crontab wenig Sinn?
Wo gehören die normalerweise hin, dann kopiere ich da da einfach rein und gut ist hoffentlich
Die auskommentierten Stellen in der /etc/crontab

Zu bedenken: "confixx" http://www.parallels.com/de/products/confixx/ ,
eine virtualisierte Maschine?
Da muß nicht alles "normal" sein, spezialisierter Kernel, andere spezialisierte Pakete -> aus einem Provider-Repository,
besondere Funktionen (abgeschaltet), usw.
Kurzfristige Änderungen der Grundeinstellungen für die Maschine durch den Provider?
Und irgendjemand muß die Stellen in der /etc/crontab ja auskommentiert haben, wenn nicht Du.

Die Dateien sind aber vorhanden?

Code: Alles auswählen

$ dpkg-query -S start-stop-daemon syslogd-listfiles
dpkg: /usr/share/man/pl/man8/start-stop-daemon.8.gz
dpkg: /sbin/start-stop-daemon
dpkg: /usr/share/man/fr/man8/start-stop-daemon.8.gz
dpkg: /usr/share/man/man8/start-stop-daemon.8.gz
dpkg: /usr/share/man/de/man8/start-stop-daemon.8.gz
dpkg: /usr/share/man/sv/man8/start-stop-daemon.8.gz
dpkg: *syslogd-listfiles* nicht gefunden.                                   # (ich verwende rsyslog statt des sysklogd)

$ ls -l /sbin/start-stop-daemon
-rwxr-xr-x 1 root root 22800 19. Okt 19:12 /sbin/start-stop-daemon


Was für Ostereier?
Das 'test' fehlt.

-----------------------------------------------------
Nebenbei:
'start-stop-daemon' taucht als Kommando noch in /etc/cron.daily/exim4-base auf, aber keine Fehlermeldung darüber,
bei Dir ein anderer Mailer?
* 8 7,14,21,28 * * rkhunter --cronjob
* 7 7,14,21,28 * * root (cd /usr/sbin; ./chkrootkit 2>&1 | mail -s "chkrootkit output" <MAILADRESSE>)

* */3 * * * /root/confixx/mailtraffikpop3.pl
* */3 * * * /root/confixx/mailtraffiksmtp.pl
Diese Jobs starten 1 Stunde lang minütlich, ist das so gewollt?
wobei rkhunter und chkrootkit ja auch Dateien unter /etc/cron.daily/ haben.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

JuergenE
Beiträge: 5
Registriert: 19.11.2009 16:47:40

Re: cron, sysklogd

Beitrag von JuergenE » 22.11.2009 16:17:26

Ok Danke.

Ich gehe jetzt alles noch mal Schritt für Schritt durch.

Minütlich war so eigentlich nicht gedacht

Bin eher davon ausgegangen das der Cron 14 tägig um 7 bzw. 8 Uhr ausgeführt werden soll.

# m h dom mon dow
* 7 7,14,21,28

Hab ich jetzt geändert auf 0 7 */14 * *

Danke und Gruß,

Jürgen

Antworten