logrotateを使用してファイルのみを削除する

logrotateを使用してファイルのみを削除する

毎時間独自のログファイルを回転させるアプリケーションがあります。毎時間n数日を過ぎたすべてのファイルを削除したいと思います。logrotate事業政策のためにこうしなければなりませんでした。

logrotateそれでは、時間ごとにこのコマンドを実行するのと同じことは何ですか?

find /var/log/app -name "*.old" -mtime +1 -exec rm -f {} \;

ベストアンサー1

logrotate1日1回実行されます。スクリプトはここ/etc/cron.daily/logrotate(CentOS 7)にあります。毎時間実行するには、まずに移動する必要があります/etc/cron.hourly/。したがって、上記のコマンドの場合、対応するlogrotateスクリプトは次のようになります。

$ cat /etc/logrotate.d/app

/var/log/app/*.old {
  hourly
  rotate 0
  firstaction
    /usr/bin/find /var/log/app/ -name "*.old" -mtime +1 -delete
  endscript
  nocreate
  missingok
  notifempty
}

おすすめ記事