1.關(guān)于日志切割
日志文件包含了關(guān)于系統(tǒng)中發(fā)生的事件的有用信息,在排障過程中或者系統(tǒng)性能分析時經(jīng)常被用到。對于忙碌的服務(wù)器,日志文件大小會增長極快,服務(wù)器會很快消耗磁盤空間,這成了個問題。除此之外,處理一個單個的龐大日志文件也常常是件十分棘手的事。
logrotate是個十分有用的工具,它可以自動對日志進行截斷(或輪循)、壓縮以及刪除舊的日志文件。例如,你可以設(shè)置logrotate,讓/var/log/foo日志文件每30天輪循,并刪除超過6個月的日志。配置完后,logrotate的運作完全自動化,不必進行任何進一步的人為干預(yù)。
2.安裝logrotate
默認centos系統(tǒng)安裝自帶logrotate,安裝方法如下
yum -y install logrotate crontabs
軟件包信息說明
[root@clsn6 ~]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf # 主配置文件
/etc/logrotate.d # 配置目錄
logrotate的配置文件是/etc/logrotate.conf
通常不需要對它進行修改。日志文件的輪循設(shè)置在獨立的配置文件中,它(們)放在/etc/logrotate.d/目錄下。
3.實踐配置logrotate
3.1 測試logrotate如何管理日志
這里我們將創(chuàng)建一個5GB的日志文件/var/log/eve.json。我們將展示怎樣使用logrotate來管理該日志文件。
上面的模板是通用的,而配置參數(shù)則根據(jù)你的需求進行調(diào)整,不是所有的參數(shù)都是必要的。也可以通過man手冊中的例子進行配置。
執(zhí)行后的效果為
3.2配置文件說明
3.3 Logrotate定時任務(wù)
logrotate需要的cron任務(wù)應(yīng)該在安裝時就自動創(chuàng)建了。在我的應(yīng)用中使用的是crontab來配合切割,因為是根據(jù)容量來切割的。
4.常見配置參數(shù)小結(jié)