logrotate

簡(jiǎn)介

linux上的自動(dòng)日志切割工具。

工作原理

在/etc/cron.daily/下面有個(gè)配置文件logrotate,所以logrotate會(huì)每天被執(zhí)行一次。logrotate的配置文件是/etc/logrotate.conf,這個(gè)里面放的是全局配置,自定義配置一般放到/etc/logrotate.d/下面。

配置

配置 意義
compress 默認(rèn)啟用的配置,會(huì)使用gzip壓縮歷史日志。
copytruncate 復(fù)制日志文件內(nèi)容到備份文件,然后將日志文件截?cái)嗟?。
create 直接重命名原來(lái)的日志文件,然后創(chuàng)建新的日志文件,然后讓讀寫(xiě)日志文件的進(jìn)程重新打開(kāi)日志文件。這種工作方式需要進(jìn)程能重新打開(kāi)日志文件。這種方式比copytruncate效率高很多。
rotate 保留多少個(gè)歷史文件
daily 每天切割一次日志,還可以設(shè)置為weekly,monthly
dateext 歷史日志添加日期作為后綴,類(lèi)似配置dateyesterday
prerotate/endscript 執(zhí)行日志切割前執(zhí)行的腳本
postrotate/endscript 執(zhí)行完日志切割后再執(zhí)行的腳本

實(shí)踐

在我的systemd基礎(chǔ)文章里面配置了一個(gè)monitor.service,使用vmstat記錄系統(tǒng)狀態(tài)到日志文件/home/monitor/vmstat.log,這里配置一個(gè)日志切割,將vmstat.log每天切割一次

#添加日志切割配置/etc/logrotate.d/vmstat
/home/monitor/vmstat.log {
  daily
  rotate 100
  dateyesterday
  compress
  missingok
  create 644 root root
  prerotaet
     systemctl stop mvmstat.service
  endscript
  postrotate
    systemctl start mvmstat.service
  endscript
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容