Io-Redirection

如何使用 >> 限制日誌文件大小

  • November 27, 2020

如何將寫入的日誌文件的大小限制>>為 200MB?

$ run_program >> myprogram.log

如果您的應用程序(即。run_program)不支持限制日誌文件的大小,那麼您可以使用外部應用程序或腳本在循環中定期檢查文件大小。

您還可以logrotate(8)用來輪換日誌,它具有size可用於您的目的的參數:

這樣,當達到指定的大小時,日誌文件就會輪換。大小可以以字節(預設)、千字節 (sizek) 或兆字節 (sizem) 為單位指定。

如果您的程序不需要編寫任何大於此限制的 OTHER 文件,您可以使用ulimit. 在執行命令之前,執行此命令為目前 shell 會話中執行的所有程序設置 200MB 的文件大小限制:

ulimit -f $((200*1024))

這將保護您的系統,但它可能會影響寫入文件的程序。正如eyazici 建議的那樣,考慮設置logrotate以在日誌文件達到一定大小或年齡時對其進行修剪。您可以丟棄舊數據或將其歸檔在一系列壓縮文件中一段時間。

引用自:https://unix.stackexchange.com/questions/17209