非終止進程的日誌文件

非終止進程的日誌文件

我正在編寫一個永遠不會終止的程序,它還會產生其正在執行的操作的大量日誌(文件)。我想要的是 Linux 進程定期(每 X 分鐘(cronjob?)):

  1. 從目前日誌檔案中取得當前日誌
  2. 將它們放在一個單獨的檔案(適當命名)中以進行離線儲存/刪除
  3. 截斷目前日誌文件,使資料不重複。

全部無資料遺失或中斷到製作程式。這樣我最後得到了一系列時間分隔的日誌

有 Linux 實用程式或已知的解決方案嗎?或者我應該將此日誌記錄功能建置到程式中?

答案1

Linux 用於syslogd管理日誌檔案。我個人沒有使用過這個,所以我不確定可能會出現什麼問題,但本質上你只是將訊息發送到日誌,守護進程負責文件輪換等。

看這裡:http://linux.die.net/man/3/syslog

您可以配置/etc/syslog.conf將訊息路由到特定文件,並且我認為您也可以使用 手動輪換日誌logrotate,或設定 cron 作業。

答案2

通常守護程式只寫日誌,僅此而已。日誌輪換是另一個軟體的工作。通常是這樣對數旋轉或類似的軟體。

相關內容