私は単純なsyslogサーバー(UDPベース)を実装しようとしています。これに関して、私たちはSYSLOG回転機能を実装しようとしています。現在のログ回転はrename
C APIによって行われます。
これにより、システムログファイル名のみが変更されます。 gzipファイル内のsyslogファイルではありません。
だから私は、Windowsプロジェクトのシステムログの回転を実装するためにLinuxで従う必要があるプロセスが何であるかを理解しようとしています。
答え1
logrotate
通常、ログファイルの回転はツールなどを介してsyslogデーモンの外部で処理されます。交換後、すべてのログファイルを再度開くように指示されたシグナルがsyslogデーモンに送信されます。他のプロセスで開かれたファイルの名前を変更することは問題にならないため、これはlinux / unixでうまく機能します。 Windowsでは、これがより問題になる可能性があることを知っています。
編集:ログファイルの名前が(または好ましくは)daemon.log
に変更されました。即時またはサイクル後に回転したファイルが圧縮されます。これは技術的にはログファイルの回転自体とは関係ありませんが、単にスペースを確保するためのものであり、今日のテラバイトディスクを考慮すると、圧縮せずに時間を節約することを選択できます。daemon.log.0
daemon.log.20150423
gzip