我需要设置logrotate来从服务器上运行的应用程序中旋转日志文件。 我需要文件名中的日期。
我设置dateext和dateformat以在日期中添加 - 。 结果文件名是:whatever.csv_2012-03-03
我希望时间戳成为文件名的一部分,以保证扩展的安全; Whatever_2012-03-03.csv。
答案 0 :(得分:61)
你应该可以将扩展分开,例如whatever.2012-03-03.csv
,具有以下配置:
whatever.csv {
dateext
dateformat .%Y-%m-%d
extension .csv
...
}
请注意dateext
故意为空。
答案 1 :(得分:23)
要在Linux下旋转文件时在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
}
这很简单,工作正常。