[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

cron schreibt nicht



Hallo!

Auf einer SuSE und einer Debian (sarge) habe ich identische
Mechanismen implementiert. Jede Minute soll die erste Zeile von top in
eine Datei geschrieben werden.

Auf der Debian funktioniert es nicht. Die betreffende Datei wird nicht
beschrieben. Woran kann es liegen?

Bei beiden gibt es ein Shell-Skript mit folgendem Inhalt:

   top -i -d 1 -n 1 -b | grep load > /tmp/top.dump

Es funktioniert auch in folgender Schreibweise

   top i d1 n1 b | grep load > /tmp/top.dump

Wenn man dieses Skript von Hand aufruft, wird die erste Zeile von top
auf beiden Systemen in die Datei geschrieben. Das klappt einwandfrei.

Nun habe ich zu crontab hinzufügt:

   * * * * *  /usr/local/bin/lb > /dev/null 2>&1

Ich habe auch die Variante

   * * * * *  /usr/local/bin/lb

probiert, es macht keinen Unterschied. Das Problem ist, daß unter
Debian mit cron die betreffende Datei mit 0 Byte angelegt wird. Die
Rechte sind es nicht, die sind überall identisch, nämlich root:root.

Ich habe dann vermutet, daß ich aus cron heraus gar nicht schreiben
kann, und das Shell-Skript verändert, um diese Hypothese zu testen:

   top -i -d 1 -n 1 -b | grep load > /tmp/top.dump
   echo 123abc > /tmp/top.test

Nun habe ich folgendes Bild:

   server4:~# l /tmp/top*
   -rw-r--r--  1 root root 0 Oct 18 08:57 /tmp/top.dump
   -rw-r--r--  1 root root 7 Oct 18 08:57 /tmp/top.test

Die Hypothese ist also falsch. Natürlich habe ich man studiert und mit
Google versucht herauszufinden, was hier los ist, aber ich habe keinen
Erfolg gehabt. Hat irgend jemand eine Idee?

Auf einer zweiten Debian Maschine, die im Prinzip identisch
konfiguriert ist (hat mehr RAM), habe ich noch einen anderen Versuch
gestartet, der sehr eigenartige Ergebnisse bringt:

   server3:~# whoami
   root
   server3:~# echo 123 > /tmp/top.test
   server3:~# l /tmp/top*
   -rw-r--r--  1 root root 76 Oct 18 08:55 /tmp/top.dump

Ich kann also noch nicht einmal mit echo in eine Datei schreiben.
   
Auf der anderen Maschine funktioniert das einwandfrei:

   server4:~# echo qoqoqo123456 > /tmp/top.test
   server4:~# l /tmp/top*
   -rw-r--r--  1 root root  0 Oct 18 08:57 /tmp/top.dump
   -rw-r--r--  1 root root 13 Oct 18 08:57 /tmp/top.test

Unter SuSE keinerlei Probleme. Wie muß ich das verstehen? Das man von
cron ist auf beiden Systemen identisch.

Vielen Dank!

Werner Popken



Reply to: