rsyslogdでログファイルを手動で回転


10

を使用してログファイルのローテーションを強制したいのですがlogrotate -f /var/log/syslog、返されるのは次のトーンだけです。

error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text

このシステムでrsyslogdが実行されていることを知っています。回転する方法は/var/log/syslog?空にしたい。

回答:


23

logrotateコマンドラインでは、回転するファイルを指定しません。設定ファイルを渡します。したがって、あなたの場合、logrotateはそれを読み取り/var/log/syslog、設定ファイルとして解析しようとしていますが、失敗しています(したがってエラーが発生します)。

回転/var/log/syslogしたい場合は、logrotate設定ファイルのどこかにリストする必要があり、を実行するだけlogrotateです。最近回転した場合logrotate -fは、再度強制的に実行します。

これは/var/log/syslog、Debianからのエントリの例です。

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}

そのため、通常は、/etc/logrotate.confまたはファイルスニペットとしてファイル内でポイントを/etc/logrotate.d想定する際に/etc/logrotate.confそれを必要とし、次にを実行しlogrotate /etc/logrotate.confます。

Debianを実行しているので、おそらくこれですべて準備が整い、実際に実行する必要があるのは実行するだけですlogrotate -f /etc/logrotate.conf(注:これにより、現在logrotateで構成されているすべてのログがローテーションされます)。

本当に回転したいだけなら/var/log/syslog/etc/logrotate.conf+ の内容に基づいて、その1つのログだけを実行する設定ファイルを作成する必要があります/etc/logrotate.d/rsyslog

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.