2

こんにちは私は/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のログローテーションが発生していないことがわかりました。さらに、このコードを追加する前に以前は機能していた他のファイルのログローテーションも機能しません。/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
}
4

1 に答える 1

3

他のすべてのディレクティブには/usr/bin/killall.

cronディレクティブには/bin/killall. 多分それが理由ですか?

いずれにせよ、実行します

logrotate -d /path/to/your/script

そして、その出力で手がかりを探します。

于 2010-12-17T01:07:18.893 に答える