我有两个不同的(i386 v AMD)Debian盒,并有相同的问题。 logrotate不会自动旋转我的日志。 它工作正常,当我强制手动像
/usr/sbin/logrotate -f /etc/logrotate.conf
但对我来说并不好
设置没有被修改(至less我没有修改它们),AMD的盒子是一个新的安装,但不会做它的工作。
如果您发现了类似的问题,请帮助我。
更新(某些服务器输出):
logrotate -d
http://pastebin.com/e6AshtGq
ls -l /var/log
http://pastebin.com/Y2A4Li59
cat /etc/logrotate.conf
http://pastebin.com/1h7Uwctr
ls -l /etc/logrotate.d
http://pastebin.com/NvUAeszM
检查你的logrotate是由cron运行的。
编辑:
从评论讨论 – 看来,cron不能正常工作。 我在我的crontab没有用户的cronjob,但只有当我重新启动cron守护进程
我的Ubuntu和Centos系统有一个/etc/cron.daily/logrotate
文件,其内容是
#!/bin/sh test -x /usr/sbin/logrotate || exit 0 /usr/sbin/logrotate /etc/logrotate.conf
我的/ etc / crontab具有以下行来运行日常工作
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily
我有一个类似的问题,但crontab
正在工作,并为logrotate
一些日志目录工作,但一些它没有。 当我试图手动运行logrotate时,出现了一些错误信息。
user@server:/var/log/apache2$ sudo /usr/sbin/logrotate -f /etc/logrotate.conf error: error creating output file /var/log/apache2/access.log.1.gz: File exists error: error creating output file /var/log/apache2/error.log.1.gz: File exists ...
所有*.1.gz
文件的大小都是0.我手动删除了错误信息中提到的所有文件,再次运行sudo /usr/sbin/logrotate -f /etc/logrotate.conf
,它就起作用了。
我只是应该在这里分享这个替代解决scheme,因为这是我寻找问题时为我提出的第一个search结果,但是build议的解决scheme对我并不适用。 也许这有助于其他人和我一样。
好的,我有类似的问题。
“日志不被旋转?” 但手动运行logrotate(或运行/etc/cron.daily
,它旋转他们就好了。
所以看来,克朗只是“没有运行”每天。 奇。 所以我查看了cron 输出数据的日志文件,看到“身份validation令牌不再有效;需要一个新的”来解决这个问题,请看这里
随着服务的变化,我经常看到这种情况的发生,并且logrotate中使用的选项已被编辑,导致logrotate每天失败。
为了给你一个想法,最后的修复涉及apache logrotate文件中的notifyempty选项不再有效,反过来导致logrotate一起停止。
虽然这已经涵盖到一点,我想分享我追踪这些问题时经历的过程:
#/usr/sbin/logrotate -f /etc/logrotate.conf
来查找任何错误(例如postfix:3'missingok')。 # vi /etc/logrotate.d/postfix
,并删除导致问题的选项,并保存文件。 有时候,第一步只是输出任何东西,但是你知道有一个问题。 由于这一切都是因为一个服务的日志文件没有被旋转,所以你可以看到logrotate进程寻找特定的服务,看看是什么阻止它的旋转。 为此,请将verbose标签添加到logrotate命令中,并观察该文件夹中发生的情况(如果有的话)。
我知道我知道。 5岁的线程。
试想一下,如果search结果还是相当高的话,我会为我遇到的问题做出贡献并给予我解决scheme。 我的logrotate作业不是在我的一台服务器上自动处理的。 强制旋转工作正常。 在我手动执行每日轮换命令后,我想出了一个解决scheme:
( cd / && run-parts --report /etc/cron.daily )
然后,我看到了阻止login作业发生的错误:
/etc/cron.daily/logrotate: error: iptraf-ng:2 duplicate log entry for /var/log/iptraf/*.log
是的,就这么简单。 我有两个文件定义相同的日志旋转(iptraf和iptraf-ng)。 只是删除iptraf的一个冲突的logrotate定义了窍门。
rm /etc/logrotate.d/iptraf
另一个问题可能是一个拙劣的/ etc / crontab文件。 意思是双重或三重检查该文件的语法,因为如果语法错误,它不会提供任何输出。 语法validation失败后静静地退出。
希望这能节省一些时间。