如何管理VPS上的所有日誌
我是 Linux 新手,但我即將開始使用 VPS 來託管我的網站。我一直在閱讀並且有人提到我需要確保我的所有日誌都在旋轉和壓縮,但我不明白該怎麼做。我將使用 Plesk,但我知道它只會涵蓋一些日誌,那麼如何確保我的所有日誌都已輪換?有沒有比使用 grep/cat 更簡單的方法來查看它們?
充實EightBitTony指出的內容
logrotate
:
logrotate
是一個可以從命令行執行的獨立程序。主要文件將是手冊頁 (man logrotate
),其中包含有關CONFIGURATION FILE格式的部分。沒有預設配置文件;必須指定。通常 logrotate 是通過 執行的cron
,所以你會在你的 cron 配置中找到對它的引用(以及顯式的 logrotate 配置文件)。在 Fedora 派生的東西(如 CentOS)上,它可能是/etc/logrotate.conf
. 但是,logrotate 也允許使用include
指令。您會在手冊頁的 CONFIGURATION FILE 部分注意到(在“這裡是有關可能包含在 logrotate 配置文件中的指令的更多資訊”下):包括
$$ file_or_directory $$ 讀取作為參數給出的文件,就好像它被包含在包含指令出現的地方一樣。如果給定目錄,則在繼續處理包含文件之前,會按字母順序讀取該目錄中的大多數文件。唯一被忽略的文件是非正常文件(例如目錄和命名管道)和名稱以 tabooext 指令指定的禁忌副檔名之一結尾的文件。
這很有趣,因為指令可以相互取代(矛盾和覆蓋),並且它們是內聯處理的;從該部分的開頭:“每個配置文件都可以設置全域選項(本地定義覆蓋全域選項,以後的定義覆蓋早期的)”因此,如果您包含一個文件然後與其中的指令相矛盾,則最後一個指令獲勝。習慣閱讀手冊頁!他們是你的朋友!
如果您查看您的
/etc/logrotate.conf
,您可能會發現這樣的一行;include /etc/logrotate.d
並且
/etc/logrotate.d
將是一個目錄。這允許各個應用程序在那裡添加文件,以便可以適當地輪換它們的各個日誌。顯然,您可以添加自己的並修改您想要的任何內容。如果您最初發現手冊頁有點密集,則可以使用 logrotate 教程。這是一個很棒的工具。最簡單的做法是在預設目錄之外設置一個實驗性 conf 文件,您可以通過在命令行上指定該文件來執行該文件。讓它引用特定的東西,這樣你就不會在試驗時造成混亂,你應該能夠掌握事情是如何以這種方式工作的。
請注意,您不必通過 cron 執行 logrotate;您可以手動或通過其他方法執行此操作,具體取決於您喜歡如何管理伺服器。