Wo finden Sie die Crontab-Protokolle in CentOS

36

Zunächst benutze ich CentOS

 [root@a etc]# cat system-release
 CentOS release 6.5 (Final)

[root@a cron.daily]# ps -ef | grep cron
root       982     1  0 Jun14 ?        00:01:15 crond
root      5692  5441  0 00:49 pts/0    00:00:00 grep cron
[root@a cron.daily]#

Und mir gehen die Ressourcen aus, also möchte ich die alten Protokolldateien löschen. In diesem Fall möchte ich die alten sicheren Protokolle löschen, die fast mehr als 100 MB groß sind. Deshalb habe ich die folgenden crontab-Einträge für den rootBenutzer angegeben .

[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#

Nach wenigen Tagen erfuhr ich, dass dieser Crontab-Eintrag nicht funktioniert und ich immer noch alte Dateien sehe.

[root@a log]# find /var/log -name "secure-*"
/var/log/secure-20141214
/var/log/secure-20141107
/var/log/secure-20141130
/var/log/secure-20141221
[root@a log]#

Später habe ich versucht, im Verzeichnis /etc/crontab.daily nach den crontab-Protokollen zu suchen und keine relevanten Ergebnisse gefunden. Wo finde ich die Crontab-Protokolle und wie erfahre ich, ob die Crontab erfolgreich ausgeführt wird oder nicht?

Prime
quelle

Antworten:

57

Cron-Protokolle unter CentOS 6 befinden sich /var/log/cronstandardmäßig in. Dies protokolliert nur die Ausführung von Befehlen, nicht die Ergebnisse oder Exit-Status. Die Ausgabe des ausgeführten Befehls geht standardmäßig an die Mail des Benutzers (in diesem Fall an die Mail von root). Eine alternative E-Mail kann durch die Variable MAILTO in der Crontab angegeben werden.

Sie sollten logrotateanstelle Ihrer benutzerdefinierten Regeln das Anpassen von Regeln in Betracht ziehen cron, die bereits das Löschen von / var / log / secure-Protokollen behandeln.

Jordanien
quelle
2
Sie können mit run-parts stackoverflow.com/questions/4984725/how-to-test-cron-job zum Test cron und überprüfen Sie die Befehle ausgegeben an /var/spool/mail/(user) superuser.com/questions/306163/...
Junior M