logrotate for / var / log / cron不工作?

时间:2010-12-09 14:41:18

标签: cron logrotate

您好我在/etc/logrotate.d/syslog-ng中添加了以下行以使/ var / log / cron旋转。

/var/log/cron {
   rotate 1
   size=1k
   nocompress
   postrotate
     /bin/killall -HUP syslog-ng 2>/dev/null || true
   endscript
}

执行此操作后,发现/ var / log / cron的logrotation没有发生。此外,在添加这段代码之前,之前工作的其他文件的logrotation也不起作用。我在/etc/logrotate.conf

中包含了文件/etc/logrotate.d/

我哪里错了?

我的原始/etc/logrotate.d/syslog-ng在下面给出

/var/log/cmm/cmm/error.log {
    rotate 5
    compress
    size=100k
    postrotate
        /usr/bin/killall -HUP syslog-ng 2> /dev/null || true
    endscript
}

# ------------------- rotate and move user.log
/usr/local/data/log/user.log {
   rotate 10
   compress
   size=1000k
   missingok
}

/tmp/log/user.log {
   rotate 1
   nocompress
   size=100k
   postrotate
       /usr/bin/killall -HUP syslog-ng 2> /dev/null || true
       cat /tmp/log/user.log.1 >> /usr/local/data/log/user.log
   endscript

}

# ------------------- rotate and move debug.log
/usr/local/data/log/debug.log {
   rotate 32
   compress
   size=1000k
   missingok
}

/tmp/log/debug.log {
   rotate 1
   nocompress
   size=100k
   postrotate
       /usr/bin/killall -HUP syslog-ng 2> /dev/null || true
       cat /tmp/log/debug.log.1 >> /usr/local/data/log/debug.log
   endscript
}

1 个答案:

答案 0 :(得分:3)

您的所有其他指令都有/usr/bin/killall

cron指令有/bin/killall。也许这就是原因?

无论如何,请运行

logrotate -d /path/to/your/script

在输出中寻找线索。