logrotate介紹
對於linux系統安全來說,日誌檔案是極其重要的工具。日誌檔案包含了關於系統中發生的事件的有用資訊,在排障過程中或者系統效能分析時經常被用到。當日誌檔案不斷增長的時候,就需要定時切割,否則,寫日誌的速度和效能也會下降,更不便於我們歸檔,查詢。
所以便有了使用logrotate的時候 ,logrotate是個十分有用的工具,它可以自動對日誌進行截斷(或輪循)、壓縮以及刪除舊的日誌檔案。例如,你可以設定logrotate,讓/var/log/foo日誌檔案每30天輪循,並刪除超過6個月的日誌。配置完後,logrotate的運作完全自動化,不必進行任何進一步的人為干預。
logrotate配置檔案位置
linux系統預設安裝logrotate工具,它預設的配置檔案在:
/etc/logrotate.conf
/etc/logrotate.d/
logrotate.conf 才主要的配置檔案,logrotate.d 是乙個目錄,該目錄裡的所有檔案都會被主動的讀入/etc/logrotate.conf中執行。
另外,如果 /etc/logrotate.d/ 裡面的檔案中沒有設定一些細節,則會以/etc/logrotate.conf這個檔案的設定來作為預設值。
實際執行時,logrotate會呼叫配置檔案/etc/logrotate.conf。
可以在/etc/logrotate.d目錄裡放置自定義好的配置檔案,用來覆蓋logrotate的預設值。
定時輪循機制
logrotate是基於cron來執行的,其指令碼是/etc/cron.daily/logrotate,日誌輪轉是系統自動完成的。
logrotate這個任務預設放在cron的每日定時任務cron.daily下面 /etc/cron.daily/logrotate
/etc/目錄下面還有cron.weekly/, cron.hourly/, cron.monthly/ 的目錄都是可以放定時任務的
定義好了每日執行任務的指令碼cron.daily/logrotate ,再檢視crontab的內容,裡面設定好了對應的cron.xxly
執行時間
/etc/cron.daily/ 下面的任務都是每天6:25 執行
/etc/cron.weekly/ 下面的任務都是每週日 6:47 執行
/etc/cron.monthly/ 下面的任務都是每月1號 6:52 執行
如果等不及cron自動執行日誌輪轉,想手動強制切割日誌,需要加-f引數;
不過正式執行前最好通過debug選項來驗證一下(-d引數),這對除錯也很重要
nginx 常用日誌切割配置
Apache日誌輪詢配置詳解
apache日誌輪詢配置詳解 隨著伺服器的不斷執行,日誌檔案會越來越大,如果不小心把日誌檔案放到了 var之類位置,日誌檔案可能寫滿分區,從而導致伺服器被迫停止執行。這種事情確實曾經發生過。為了防止出現這種問題,可以在日誌檔案變得太大之前把它們移到其他具有足夠空間的位置。這可以通過幾種方法實現。某些...
定時刪除日誌檔案 linux定時清理日誌
linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。1.刪除...
定時刪除日誌檔案 linux定時清理日誌
linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。1.刪除...