logrotateを使用して1日(指定された日付)ログを圧縮できますか?

logrotateを使用して1日(指定された日付)ログを圧縮できますか?

私のログ形式は次のとおりです。YYYYMMDD

古いログ(現在の日付より古い)を圧縮してから、別のディレクトリに移動したいと思います。

logrotateでこれを行うことはできますか?それとも、cronでカスタムスクリプトを使用する必要がありますか?

ベストアンサー1

ログファイル名が実行されるたびに同じで日付を追加できる場合、logrotateはolddirを使用してこれを実行できます。ログファイル名がYYYYMMDDに変更された場合、logrotateはこれを実行しません。

# sample logrotate conf file
copytruncate
compress
dateformat %Y%m%d.
dateext
extension log
olddir ./logarchive

/logs/sys.log {
    rotate 7
    daily
}

/logs/sys.log を /logs/logarchive/sys.20120101.log.gz にコピーして gzip して、1 週間分のログをアーカイブします。

おすすめ記事