我想每00:00:01(=每个新的一天)为我的网站制作新的日志。
rotatelogs的问题在于,您可以在创建新日志之前精确确定日志的最大大小,或者以秒为单位精确调整旋转时间。无法精确一小时轮换。
他们谈论“cronjobs”,但我不明白。有人可以解释一下是否可能,如果是的话,举个例子?
非常感谢
以下是rotatelogs
实用程序的帮助:
/#/ opt / httpd / bin / rotatelogs --help参数数量不正确 用法:/ opt / httpd / bin / rotatelogs [-l] [-f] {|} [与UTC的偏移分钟]
添加:
TransferLog“| / opt / httpd / bin / rotatelogs / some / where 86400”
或
TransferLog“| / opt / httpd / bin / rotatelogs / some / where 5M”
到httpd.conf。生成的名称将是/some/where.nnnn,其中nnnn 日志名义上开始的系统时间(N.B.如果使用a 旋转时间,时间总是旋转的倍数 时间,所以你可以用它来同步cron脚本)。在每个结束时 旋转时间或达到文件大小时,将启动新日志。 / #
答案 0 :(得分:1)
根据manual page for rotatelogs的这一部分:
rotationtime The time between log file rotations in seconds. The rotation occurs at the beginning of this interval. For example, if the rotation time is 3600, the log file will be rotated at the beginning of every hour; if the rotation time is 86400, the log file will be rotated every night at midnight.
设置86400作为句点将执行您想要的操作(新文件每天午夜开始)。
如果您希望“午夜”在您的本地时区而不是UTC,请使用-l选项。
需要cronjob的情况是,如果你想要一天的时间但是在午夜的不同时间。通常使用logrotate(外部apache)等更常用的工具。