gpt4 book ai didi

date-format - logrotate dateformat 似乎不支持 %H :%M:%S

转载 作者:行者123 更新时间:2023-12-03 23:50:51 25 4
gpt4 key购买 nike

我是 logrotate 的新手。当配置涉及属性“dateformat”时,似乎 logrotate 不支持 strftime "%H"。这是配置:

{
daily
rotate 2
size 3M
missingok
notifempty
dateext
dateformat -%Y%m%d_%H:%M:%S
...
}

旋转后的文件格式看起来像:uwsgi_dev.log-20150630_%H:%M:%S,但我想要确切的“小时分和秒”。

谢谢

最佳答案

在版本 3.9.0 中添加了对 %H 的支持.在早期版本中,logrotate 不支持 strftime "%H:

dateformat format_string: Specify the extension for dateext using the notation similar to strftime(3) function. Only %Y %m %d and %s specifiers are allowed.



来自 logrotate 手册页 http://linux.die.net/man/8/logrotate

但是,您可以使用 %s在日期格式字符串中,这是自 1970-01-01 以来的秒数。您可以设置 dateformat -%Y%m%d-%s .这将在每次轮换日志时生成唯一的文件名,因此您可以每天多次轮换文件。不幸的是, %s部分不容易阅读,但您可以使用 perl -e "print scalar(localtime(1451214849))" 轻松将其转换回可读日期。 .

在某些系统上, date程序允许使用 date -d @1451214849 轻松进行此类转换(例如 GNU date)。在大多数系统上(包括例如 Solaris date ),您可能会幸运地使用像 date -d "1970-01-01 + 1451214849 sec" 这样的语法。 .请注意 Busybox date仅支持 @第二个例子的技巧但不是复杂的表达。

关于date-format - logrotate dateformat 似乎不支持 %H :%M:%S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com