3

ログファイルに書き込みを行うデーモンがあり、最終的にはディスクがいっぱいになります。コードを変更せずにデーモンを停止せずに、ログファイルのサイズを定期的に制限する方法はありますか?SIGHUPはデーモンを強制終了します。

4

3 に答える 3

4

通常のトリックは次のとおりです。

echo -n > /var/log/name.log

デーモンが追加モードでログファイルを適切に開く場合、これは機能します。それらのほとんどはそうします。(このコマンドは、ファイルサイズをゼロに切り捨てるだけであり、追加モードでファイルに書き込む別のプロセスに介入しません。)

もう1つのオプションは、デーモンがsyslogをサポートしているかどうかを確認し、アクティブ化することです。現在、ほとんどのLinuxには、syslogファイルを自動的に(ルールなどに基づいて)アーカイブするログコレクターが付属しています。

于 2010-06-15T14:49:12.597 に答える
0

ファイル名が一定の場合は、ログファイルの代わりにFIFOを作成して、必要な数の個別のログファイルに読み込むことができます。

于 2010-06-15T11:09:46.477 に答える
0

ログファイルをトリミングしますが、最後の1000行は保持します。

echo "$(tail -1000 daemonlog)" > daemonlog
于 2014-03-29T02:17:23.947 に答える