終了しないプロセスのログファイル

終了しないプロセスのログファイル

私は、決して終了しないように設計されたプログラムを書いています。また、実行内容の大きなログ (ファイル) も生成します。私が望んでいるのは、Linux プロセスが定期的に (X 分ごと (cronjob?)) 実行することです。

  1. 現在のログファイルから現在のログを取得します
  2. オフラインでの保存/削除用に別のファイル(適切な名前)に配置する
  3. データが重複しないように現在のログファイルを切り捨てます。

全てデータの損失や中断なしに生成プログラムに渡します。こうすることで、時間で区切られたログのシーケンスが完成します

これに対する Linux ユーティリティまたは既知の解決策はありますか? または、このログ機能をプログラムに組み込む必要がありますか?

答え1

Linux はsyslogdログ ファイルの管理に使用します。私は個人的にこれを使用したことがないので、何が問題なのかはわかりませんが、基本的にはログにメッセージを送信するだけで、デーモンがファイルのローテーションなどを処理します。

こちらをご覧ください:http://linux.die.net/man/3/syslog

/etc/syslog.confメッセージを特定のファイルにルーティングするように設定し、 を使用してログを手動でローテーションしたりlogrotate、cron ジョブを設定したりすることもできます。

答え2

通常、デーモンはログを書き込むだけで、それ以上のことはしません。ログのローテーションは別のソフトウェアの仕事です。通常、ログローテートまたは同様のソフトウェア。

関連情報