Tout d'abord, j'utilise 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]#
Et je manque de ressources, donc je veux supprimer les anciens fichiers journaux.Dans ce cas, je voudrais supprimer les anciens journaux sécurisés qui mesurent presque plus de 100 Mo, j'ai donc donné les entrées ci-dessous pour root
utilisateur.
[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#
Après quelques jours plus tard, j'ai appris que cette entrée crontab ne fonctionne pas et je vois toujours d'anciens fichiers.
[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]#
Plus tard, j'ai essayé de rechercher les journaux crontab dans le répertoire /etc/crontab.daily et je n'ai trouvé aucun résultat pertinent. Où trouver les journaux crontab et comment savoir si la crontab fonctionne correctement ou non?
Les journaux Cron sur CentOS 6 sont situés dans /var/log/cron
par défaut. Cela enregistre uniquement l'exécution des commandes, pas les résultats ou les états de sortie. La sortie de la commande exécutée est envoyée par défaut au courrier de l'utilisateur (le courrier de root dans ce cas). Un autre e-mail peut être spécifié par la variable MAILTO à l'intérieur de la crontab.
Vous devriez envisager d'ajuster les règles logrotate
, au lieu de votre cron
personnalisé, qui gère déjà la suppression des journaux/var/log/secure.