我需要设置logrotate来从运行在服务器上的应用程序中旋转日志文件。 我需要文件名中的日期。如何使用logrotate在文件名中插入日期
我设置了dateext和dateformat来在日期中添加一个 - 。 结果文件名是:whatever.csv_2012-03-03
我希望时间戳是文件名的一部分,以确保扩展的安全; Whatever_2012-03-03.csv。
# 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
}
这是简单而正常工作:
我喜欢这个解决方案。如果我理解正确,它有一个副作用:logrotate不再限制保存文件的数量。如果有意的话,那很好。 – Marian 2014-07-08 06:59:17
很容易在你的postrotate脚本中添加一个'find $ logdir -mtime + $ maxage -delete'语句。 – Rob 2014-08-07 09:07:06
@Rob,那么,实际使用logrotate有什么意义呢? – cnst 2014-09-15 20:27:53