來源:互聯網
上載者:User
關鍵字
系統故障
Linux
Logrotate
排除日誌
Logrote是用來定期重命名和重新使用系統錯誤日誌檔的一個應用程式。 它可以保證日誌檔不會佔用太大的磁碟空間。
/etc/logrotate.conf 檔
它logrotate的一般性設定檔。 你可以通過它設置那個檔被重用以及多久重用一次。
你可以設定迴圈參數為每週或每天。 在下面這個例子中,「每週」這個參數被「#」注釋了,保留「每天」參數。 迴圈參賽還可定義一個保留多少份日誌HTTP://www.aliyun.com/zixun/aggregation/18449.html">檔案備份。 下面這個例子中保留4份,7份的參數被注釋了。 創建參數在每輪迴圈後新建一個日誌檔。
因此,在我們的示例中,將所有的日誌檔每天備份,而且將他們保留7天。 這些日誌檔將會有如下的檔案名形式:
logfilelogfile.0logfile.1logfile.2logfile.3logfile.4logfile.5logfile.6
/etc/logrotate.conf 檔示例
# rotate log files weekly (每週迴圈更新記錄日誌檔)
#weekly
# rotate log files daily (每天。。。 。。。 )
daily
# keep 4 weeks worth of backlogs (保留4周內的日誌檔案備份)
#rotate 4
# keep 7 days worth of backlogs (保留七日內日誌檔案備份)
rotate 7
# create new (empty) log files after rotating old ones (在迴圈掉就的檔時創建新的空日誌檔)
create
/etc/logrotate.d 資料夾
許多需要使用syslog的Linux應用程式會將它們的設置檔放置在這個資料夾中以使它們的日誌檔實現輪轉,並且以它們特有的名字命名。 你最好經常查證所有新安裝的使用syslog的軟體是否在這個資料夾中留有設定檔。 下面給出一些示例,它們給特定的軟體指定特定的日誌輪轉檔。
現在在這個目錄下有一個示例檔,它將/data/backups檔將中的檔以.tgz格式來輪轉。 在這個檔中的參數將覆蓋在/etc/logrotate.conf檔中的設置。 在這個例子中,輪轉檔將不會被壓縮,而且它們非空的情況下將保存30天。 它們的檔將所屬為root,許可權設置為600.
/data/backups/*.tgz { daily rotate 30 nocompress missingok notifempty create 0600 root root}
注意:在Debian/Ubuntu系統中,/etc/cron.daily.sysklogd腳本將讀取/etc/syslog.conf檔,並根據它輪轉所有設定的日誌檔。 所以,對於一般的系統日誌,你不必再在/etc/logrotate.d資料夾中重複設定了。 因為在 /etc/cron.daily資料夾中它沒24小時便運行一次。 在Fedora/Redhat系統中,這個腳本被/etc/cron.daily/logrotate取代。 而且它不讀取syslog設定檔。 所以,你必須在/etc/logrotate.d設置好。