logrotate -f /var/log/syslog
を使用してログファイルのローテーションを強制したいのですが、返されるのは次のトーンだけです。
error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text
このシステムでrsyslogdが実行されていることを知っています。 /var/log/syslog
を回転させる方法は?空にしたい。
コマンドラインでどのファイルをローテーションするかをlogrotate
に指示することはありません。設定ファイルを渡します。したがって、あなたの場合、logrotate
は/var/log/syslog
を読み取り、それを構成ファイルとして解析しようとして失敗します(そのため、エラーが発生します)。
/var/log/syslog
をローテーションしたい場合は、logrotate
構成ファイルのどこかにリストする必要があり、logrotate
を実行するだけです。最近ローテーションした場合は、logrotate -f
を使用して強制的に再度実行します。
これは、Debianの/var/log/syslog
のエントリの例です。
/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
を実行することだけです(注、これはローテーションしますeveryログ現在logrotateで構成されています)。
trulyが/var/log/syslog
のみをローテーションする場合は、/etc/logrotate.conf
+ /etc/logrotate.d/rsyslog
の内容に基づいて、その1つのログのみを実行する構成ファイルを作成する必要があります。