如何监视Ubuntu中的logrotate?可以监视logrotate的活动吗?

评论

好吧,您可以查看该进程打开了哪些文件描述符...也许尝试解释您遇到的确切问题?您是否要调试自己的脚本?默认/第三方脚本的性能?

#1 楼

cat /var/lib/logrotate/status 



要验证特定日志是否确实在旋转,并检查其旋转的最后日期和时间,请检查/ var / lib / logrotate / status文件。这是一个格式整齐的文件,包含日志文件名和上次旋转的日期。


来自:
https:// www .digitalocean.com / community / articles / how-to-manage-log-files-with-logrotate-on-ubuntu-12-10

评论


在Red Hat系统上,您可以在/var/lib/logrotate.status中找到该文件。

–迈克尔·汉普顿
13年6月24日在16:07

这是对Red Hat系统中的logrotate进行故障排除的完整指南:access.redhat.com/solutions/32831

–盖亚
2015年2月23日在19:17



考虑到Ubuntu,cat / var / lib / logrotate / status仅显示由root用户启动的logrotate活动。其他用户的cronjob可能会触发他们自己的logrotate活动,例如当他们的crontab包含诸如0 0 * * * / usr / sbin / logrotate $ HOME / logrotate / logrotate.conf的条目时--state $ HOME / logrotate / logrotate-state。该logrotate活动将被写入文件$ HOME / logrotate / logrotate-state,其中$ HOME是该用户的主目录。

–阿卜杜勒(Abdull)
18年6月5日在12:06

在更新的RedHat系统中(至少在RHEL 7.6中),状态文件现在位于/var/lib/logrotate/logrotate.status。

– Richrich
19年5月31日在15:27

#2 楼

您可以尝试在调试或详细模式下运行logrotate:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.


评论


当logrotate作为cron启动时,这是否有帮助?我的意思是有可能将logrotate的行为记录到日志文件中吗?

–user56548
2010-10-9 15:45

/ usr / sbin / logrotate -v /etc/logrotate.conf&> /var/log/logrotate.log

–kernelpanic
2010-10-9 15:55



sudo logrotate -v /etc/logrotate.conf&> /var/log/logrotate.log bash:/var/log/logrotate.log:权限被拒绝

–user56548
2010-10-9 16:16

@dude:如果您尝试从命令行执行此操作并且遇到该错误,则需要这样做:sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log> / dev / null(确保具有-a)。

–丹尼斯·威廉姆森
2010-10-9 23:53

@丹尼斯,当我尝试我虽然创建logrotate.log,但它具有0KB,并且该过程不会在终端处停止,并以闪烁的光标等待。

–user56548
10-10-10在10:39

#3 楼

在Suse Linux发行版中是这样的:

cat /var/lib/logrotate.status


评论


AWS AMI Linux具有相同的logrotate状态结构

– Victor Perov
15年10月22日在14:45

#4 楼

基于配置文件(/etc/logrotate.conf)和/或目录(/etc/logrotate.d),各种日志以各种频率旋转。名称可能在不同的发行版本上有所不同。该配置可以指定旋转之前和/或之后的动作。轮换文件的名称和上次轮换日期位于状态文件(/ var / lib / logrotate / state)中。

Logrotate没有日志记录功能。它启动的重新加载/重新启动操作将根据所执行程序的日志记录。有关logrotate配置和选项的详细信息,可通过命令q4​​312079q找到。

#5 楼

您可以通常在logrotate中检查/etc/logrotate.conf的设置。

现代发行版在logrotate目录中具有特定的/etc/logrotate.d配置文件。适用于nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52


,它将保留文件52周(一年)。该轮换是每周一次。

评论


可能是您想轮换365或每周一次。每天旋转52次显然会保留52天的日志。

–temoto
2011年7月18日在13:15

@temoto谢谢,实际上是每周一次

– e2-e4
2011年7月19日在4:23