您好我在/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
}
答案 0 :(得分:3)
您的所有其他指令都有/usr/bin/killall
。
cron
指令有/bin/killall
。也许这就是原因?
无论如何,请运行
logrotate -d /path/to/your/script
在输出中寻找线索。