我需要使用时间和日期作为旋转日志的扩展。现在我正在使用dateext
。但dateext
的问题是我无法在同一日期/日期间多次实现轮换。而且我必须按小时进行轮换,我已经为此创建了cronjob。
这是我的conf文件。
someDirectory/logs/*.log /someDirectory/logs/*.log {
nocompress
notifempty
copytruncate
size 100M
dateext
olddir someDirectory/logs/archived
rotate 10
}
请告诉我,如果有的话,我如何在延期中使用时间和日期? 感谢。
答案 0 :(得分:3)
您可以使用以下的postrotate脚本:
someDirectory/logs/*.log /someDirectory/logs/*.log {
nocompress
notifempty
copytruncate
size 100M
dateext
olddir someDirectory/logs/archived
rotate 10
sharedscripts
postrotate
day=$(date +%Y%m%d)
daytime=$(date +%Y%m%d-%H:%M:%S)
mv somelog-$day /var/log/somelog-$daytime
endscript
}
答案 1 :(得分:0)
已阅读logrotate dateformat seems not supporting %H:%M:%S对%H:%M:%S的logrotate支持(尽管在我最喜欢的Linux发行版中还没有)。
如果您的系统尚不支持此功能,并且您只需要一些其他信息即可区分每小时可以使用的存档文件
dateformat -%Y%m%d-%s
或在其他答案中需要澄清的顺序编号的日志中,如何使somelog
成为变量。