まず、私は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]#
リソース不足のため、古いログファイルを削除したいと思います。この場合、サイズがほぼ100MBを超える既存のセキュリティログを削除したいので、root
ユーザーに次のcrontabエントリを提供します。
[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#
数日後、このcrontabエントリが機能しないことがわかりましたが、まだ古いファイルが表示されていました。
[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]#
後で/etc/crontab.dailyディレクトリからcrontabログを取得しようとしましたが、関連する結果が見つかりませんでした。 crontabログはどこにあり、crontabが正常に実行されたかをどうやって知ることができますか?
答え1
/var/log/cron
CentOS 6のCronログはデフォルトで配置されています。結果や終了状態ではなく、コマンドの実行のみが記録されます。実行されたコマンドの出力は、デフォルトでユーザーのメール(この場合はルートのメール)に送信されます。代替電子メールは、crontab内のMAILTO変数で指定できます。
すでに/var/log/secureログの削除を処理しているカスタムlogrotate
ルールではなく、チューニングルールを確認する必要があります。cron