Systemd は標準出力ファイルのサイズを制限します。

Systemd は標準出力ファイルのサイズを制限します。

Pi 4でStandardOutput=file:/file/location/file.log

答え1

私の考えでは、この問題を解決する最も先進的な方法は、このlogrotateプログラムを使用することです(おそらくすでにインストールされており、1日に1回は定期的に自動的に実行されます)。

これを行うには、yourservice.confディレクトリにファイルを追加する必要があります/etc/logrotate.d/etc/logrotate.confインクルードチェックinclude /etc/logrotate.d)。これにより、10MBごとに新しいファイルが作成され、最新の5つは維持されます。

   /file/location/file.log {
       rotate 5
       size 10M
       postrotate
           systemctl restart yourservice.service
       endscript
   }

頻度がlogrotate.timer低すぎる(デフォルト:毎日)、つまりプログラムがsize1日に2回以上書き込まれる場合は、タイマー間隔を変更する必要があります。

/file/location/file.logがSDカードにある場合は、Raspberry Piで不要な高速ログの作成を開始しないことをお勧めします。これらのログは比較的早く消える傾向があります。フラッシュメモリの破損は、RPや同様のSBCでのデータ損失とハードウェア障害の最大の原因です。

関連情報