[Linux] logrotate — 日志文件的自動分頁備份工具

在Linux上,最重要的文件之一就是其日志文件,我想Linuxer都應該會同意這個説法。原因衹有一個:系統出現任何問題,都可以在這找到其出事原因!說實在,這比微軟的系統日志來得好多了。。。(至少看得懂啊!!!😅)

而管理好日志,就是一項非常沉悶,但又重要的工作。logrotate 就是用來解決這一切煩惱的好工具。


在 /etc/logrotate.d 可以找到其設置文件。

這是我為自己系統中的 rsync 日志作設置的步驟:
1. 在 /etc/logrotate.d 中,增加一個 rsync 的文件 (touch rsyncd)。
2. 編輯這個文件。以下是其内容:

/var/log/rsyncd.log {
notifempty
daily
rotate 7
compress
delaycompress
}

3. 儲存后退出。
4. 輸入 logrotate -vf /etc/logrotate.conf 指令
5. 進入 /var/log 看看 rsyncd.log 這個文件,如果已經有另一個同名文件,但後面稍微不一樣的 (例: rsyncd.log.1),就代表設置成功了。


接下來,系統會根據上面的設置,自動整理你的日志文件。最後,講解一下其設置内容:

/var/log/rsyncd.log
日志文件的位置。

notifempty
衹要這文件不是空白的,就進行工作。

daily
備份工作為每日一份。

rotate 7
一共收集 7 份日志備份。最久的一份會自動被取代。

compress
把備份文件進行壓縮。

delaycompress
第一份備份文件無需壓縮。