是否可以强制 logrotate 在一个配置中使用 UTC 时间?我需要将 dateext 设置为 UTC。我希望它就像设置日期变量一样简单。我是否应该只运行 postrotate 并将文件 mv 为一个新文件名,在事后将 UTC 时间放在上面。我只是在寻找最佳实践或最实用的解决方案。提前致谢。
我尝试通过设置变量来降低成本。:)
/var/log/bricks/*.log {
DATE=`date -u +%Y%m%d`
missingok
notifempty
copytruncate
daily
dateext
dateformat .%Y%m%d
compress
}
答案1
您是否考虑过生成两个配置并针对一个配置正常运行 logrotate。
对于 UTC 配置,通过包装器运行 logrotate:
#! /bin/sh
TZ=UTC
export TZ
PATH=/bin:/usr/bin:/sbin:/usr/sbin
export PATH
logrotate -s /var/lib/gmt-logrotate.status gmt-logrotate.cfg
exit $?
通过分解它们,您可以分离运行每个 logrotate 配置的时间。