私はgnu-screenで私のプログラムを実行し、ファイル(log on
/logfile
オプションの.screenrc)のロギングを有効にします。ただし、時間が経過するとログファイルが大きくなりすぎます。
ログファイルのサイズを制限する方法はありますか?
答え1
ログサイズをリアルタイムで制御したい場合を除き、logrotate
withを使用してcron
これを実行できます。
screenlog.log
ディレクトリ内で回転すると仮定すると、/home/username/
次のような構成ファイルが生成されます。
screenlog-rotate.conf
:
/home/username/screenlog.log {
size 100k
}
logrotate /home/username/screenlog-rotate.conf
次に、定期的に実行されるクローンジョブとして実行または設定します。logrotate
デフォルトでは、rootとして実行する必要があり、設定ファイル(上記)もrootとして編集する必要があることにscreenlog-rotate.conf
注意してください。それ以外の場合は、設定された権限が正しくないというメッセージが表示されます。フラグをchown
実行してあなたを理解しているかどうかをテストしてください。logrotate
-v
上記の設定ファイルは非常に簡単です。古いログファイルは保持されません。。ファイルが指定されたサイズを超えると、ファイルは削除されますが、画面には通常どおりログが出力されます(テスト済み)。古いログを保存するには、保存する循環ログの数を追加する必要がありますrotate N
。N
man 8 logrotate
設定方法の詳細を参照してくださいlogrotate
。関連する質問は次のとおりです。使用方法>>ログファイルサイズの制限
logrotate
Arch Linuxには基本的に含まれているようですが、他のディストリビューションでもそういうものかは分かりません。私はDebianが少なくともデフォルトでそれをインストールすると予想しており、パッケージマネージャを使用してインストールするのは簡単です。