设置 logrotate 使用 UTC 时间

设置 logrotate 使用 UTC 时间

是否可以强制 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 配置的时间。

相关内容