サーバーで実行中のアプリケーションからログファイルをローテーションするようにlogrotateを設定する必要があります。ファイル名の中に日付が必要です。
Dateextとdateformatを設定して、日付に-を追加します。結果のファイル名は次のとおりです。whatever.csv_2012-03-03
タイムスタンプを拡張子を安全に保つファイル名の一部にしたいと思います。 Whatever_2012-03-03.csv。
Linuxでファイルをローテーションしながらファイルのファイル名に(拡張子ではなく)日付を挿入するには、次のように使用するのが適切です。
# Daily rotation
daily
# We keep original file live
copytruncate
# Rotation is 1 so we have always .1 as extension
rotate 1
# If file is missing keep working
missingok
sharedscripts
postrotate
day=$(date +%Y-%m-%d)
mv blabla.csv.1 /var/www/gamelogs/dir/blabla$day.csv
endscript
}
これは簡単で、うまく機能します。
拡張機能を区別できるようにする必要があります。 whatever.2012-03-03.csv
、次の構成:
whatever.csv {
dateext
dateformat .%Y-%m-%d
extension .csv
...
}
dateext
は意図的に空であることに注意してください。