̃Gg[͂ĂȃubN}[Nɒlj

Unix :: cron / 最新N日のログを残し、古いログは削除する



例えば、apache のアクセスログが知らないうちにどんどん増え続ける恐怖から開放されます。


  • apache のアクセスログを最新31日分残して、古いログは削除する
0 1 * * * root cd /path/to/log/apache/access_log && ls -1t | awk 'NR>31' | xargs -r rm -f
  • ログの保存場所が /var/log/apache ディレクトリで access_log と error_log が混在している場合。
0 1 * * * root find /var/log/apache -maxdepth 1 -name 'access_log*' | sort -r | awk 'NR>31' | xargs -r rm -f

/var/log/apache ディレクトリ配下に、さらにディレクトリがある場合は -maxdepth オプションも。




unix/cron/delete_oldlog.txt