Hi,
Ich habe ein Script geschrieben, dass jede Minute ausgeführt wird. Das funktioniert auch.
Der cron schreibt dazu aber jede Minute eine Zeile in das syslog-File. Das würde ich gern abstellen.
Frage also: Wie kann ich bestimmte Cron-Jobs vom loggen ausschließen, andere nicht?
Vielen Dank im Voraus,
Markus
Manche Cron-Jobs sollen nicht gelogged werden
hi,
schreib dir doch einfach ein eigenes cron:
Wenn du dieses Script einmal beim Booten startest, ruft es zu jeder
vollen Minute dein ursprüngliches Script auf. Die Ausgaben kannst
du nach /dev/null oder in eine eigene Log-Datei umlenken:
Schöner (weil CPU-Zeit sparend) wäre es, wenn du die Endlos-Schleife
und das sleep gleich in dein Script packen würdest.
schreib dir doch einfach ein eigenes cron:
Code: Alles auswählen
#!/bin/sh
#
# nslcron: cron "daemon" der nicht ins syslog schreibt
JOB=/home/mrre/minuten_job
while true ; do
sleep $((60 - `date +%S`))
echo `date '+%a %H:%M:%S'` "jetzt spielt" $JOB
$JOB
done
vollen Minute dein ursprüngliches Script auf. Die Ausgaben kannst
du nach /dev/null oder in eine eigene Log-Datei umlenken:
Code: Alles auswählen
./nslcron > /tmp/test.log 2>&1
und das sleep gleich in dein Script packen würdest.
Beware of programmers who carry screwdrivers.
OK, das wäre natürlich möglich. Aber ist es nicht auch möglich, einige Cron-Jobs vom loggen auszuschließen. Denn der Übersichtlichkeit wegen wäre alles im crontab schon besser.
Interessent ist die Idee auf jeden Fall, aber warum ist es cpu-sparender, wenn die Schleife im anderen Script ist? Ist es nicht egal, an welcher Stelle der Sleep aufgerufen wird?
Interessent ist die Idee auf jeden Fall, aber warum ist es cpu-sparender, wenn die Schleife im anderen Script ist? Ist es nicht egal, an welcher Stelle der Sleep aufgerufen wird?
Das sleep kostet ja gerade keine CPU-Zeit, wohl aber jeder Start eines
Scripts. Mit einem extra cron-Script wird das eigentliche Script immer
wieder neu gestartet und das könnte man sich in diesem Fall sparen.
Daß man einzelne Log-Einträge unterdrücken kann, kann ich mir nicht
vorstellen. Ansonsten hast du natürlich Recht, übersichtlicher ist es mit
dem echten cron. Aber ich nehm' eher auf Maschinen als auf Menschen
Rücksicht
Wenn du dein Script aber als Dienst/Server/Daemon betrachtest, ist es
ganz natürlich, daß das ganz alleine läuft.
Scripts. Mit einem extra cron-Script wird das eigentliche Script immer
wieder neu gestartet und das könnte man sich in diesem Fall sparen.
Daß man einzelne Log-Einträge unterdrücken kann, kann ich mir nicht
vorstellen. Ansonsten hast du natürlich Recht, übersichtlicher ist es mit
dem echten cron. Aber ich nehm' eher auf Maschinen als auf Menschen
Rücksicht
Wenn du dein Script aber als Dienst/Server/Daemon betrachtest, ist es
ganz natürlich, daß das ganz alleine läuft.
Beware of programmers who carry screwdrivers.
Hallo zusammen
Bin über eine Suche zu diesem Posting gekommen und hänge mich einfach mal noch dran…
Unter SUSE funktioniert in der CronTab ein führendes "-"(Minus) um den Eintrag nicht zu loggen.
Also Bsp:
Warum funktioniert das nicht bei Debian?
Viele Grüße
P.S. mein erster Post hier…
Bin über eine Suche zu diesem Posting gekommen und hänge mich einfach mal noch dran…
Unter SUSE funktioniert in der CronTab ein führendes "-"(Minus) um den Eintrag nicht zu loggen.
Also Bsp:
Code: Alles auswählen
-*/1 * * * * uptime |grep -v "load average: 0.00, 0.00, 0.00" >> /var/log/uptime.log
Viele Grüße
P.S. mein erster Post hier…