logrotate - ログファイルの5Mbを切り捨て、ログファイルの残りの部分を削除します。

logrotate - ログファイルの5Mbを切り捨て、ログファイルの残りの部分を削除します。

これは私のスクリプトです。

/var/log/libbitcoin/*.log {
    size 5M
    missingok
    rotate 0
    compress
    delaycompress
    notifempty
    create 644 bs bs
    sharedscripts
}

何らかの理由でdebug.log.1が生成されていますが、そのファイルを削除したいと思います。私は何が間違っていましたか?

答え1

実行すると、競合が発生したことがわかります。これは最後のログを圧縮することを意味し、whenはそのようなログがあってはならないという意味です-ddelaycompressrotate 0

古いログはアーカイブされませんので、compressオプションdelaycompressのみを削除してください。

答え2

以下のコードでは、サイズファイルを追加するだけで変更できるcron操作によって、一定時間が経過するとファイルが削除されることがわかります。

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

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

関連情報