天天看點

日志輪替簡介

        當我們的網頁上單擊一個連結或重新整理一下界面,那麼Apache在背景的日志檔案就會記錄一行或幾行資訊,如果你的網站有可觀的通路量,那麼一段時間之後你的Apache的日志檔案會變得及其臃腫不堪,當伺服器出現問題之後,在一個幾百兆甚至幾個G的日志檔案中找到有用的資訊會變得及其困難。是以我們就需要定期将足夠大的日志檔案分割成一個一個小日志,這就是日志輪替。日志輪替其實就是日志切割和日志輪換的結合0

日志切割:就是把舊的日志檔案移動并改名,同時建立新的日志檔案。那麼如何命名呢?

   主要依靠/etc/logrotate.cof配置檔案的” dateext ”

   1.如果配置檔案擁有“dateext”參數,那麼日志就會用日期來作為日志檔案的字尾,例如“access_log-20150517”。這樣的話日志檔案命就不會重疊,是以就不需要日志檔案改名啦。

   2.如果配置檔案啊當中沒有“dateext”參數,那麼日志檔案就需要進行改名,當第一次日志輪替時麼目前的“access_log”日志會改名為“access_log.1”,讓後建立“access_log”檔案,當進行第二次日志輪替時“access_log.1”會改名為“access_log.2”,而“access_log”檔案會改名為“access_log.1”然後建立“access_log”檔案來儲存新的日志資訊。以此類推。

日志替換:當舊的日志超過儲存的範圍之後,就會删除時間最早的日志。

         下面本文将以Apache距離進行日志輪替

                  注意:rpm包安裝的Apache是不需要進行輪替設定的,預設就開啟日志輪替,如果需要隻需修改參數即可。而源碼包安裝的Apache自帶的配置檔案隻支援日志切割,而沒有日志替換,不會删除舊的日志。這是就需要借助系統的日志輪替工具logrotate

         logrotate的配置檔案是/etc/logrotate.conf這裡面記錄啦需要進行日志替換的日志檔案配置,我們隻需要在這個檔案中将Apache的日志檔案寫入這個配置檔案即可;

日志輪替簡介

内容詳解

 /usr/local/apache/logs/access_log {

#Apache日志檔案的絕對路徑

         daily

#日志輪替的周期是天

        dateext

#使用日期做日志檔案的字尾名

        notifempty

#如果日志檔案為空将不進行輪替

        rotate 30

#保留的日志檔案個數。如果寫0是是指沒有備份

}

儲存退出

上述設定完成後Apache的日志檔案就會進行輪替

logrotate配置檔案參數:

daily

日志的輪替周期是每天

weekly    

日志的輪替周期是每周

monthly

日志的輪替周期是每月

rotate              

數字保留的日志檔案的個數。0指沒有備份

compress        

日志輪替時,舊的日志進行壓縮

create mode owner group    

建立新日志,同時指定新日志的權限與所有者和所屬組。如create0600 root utmp

mail address   

當日志輪替時,輸出内容通過郵件發送到指定的郵件位址。如mail [email protected]

missingok       

如果日志不存在,則忽略該日志的警告資訊

notifempty     

如果日志為空檔案,則不進行日志輪替

minsize   

大小日志輪替的最小值。也就是日志一定要達到這個最小值才會輪替,否則就算時間達到也不輪替

dateext

使用日期作為日志輪替檔案的字尾。如secure-20130605

sharedscripts

在此關鍵字之後的腳本隻執行一次

prerotate/endscript

在日志輪替之前執行腳本指令。endscript标示prerotate腳本結束。

postrotate/endscript

在日志輪替之後執行腳本指令。endscript标示postrotate腳本結束

logrotate指令介紹

         logrotate [選項]  配置檔案名

選項:如果沒有選項将按照配置檔案中的内容進行日志輪替

-v:   顯示日志輪替過程

-f:    強制進行日志輪替,不管啊日志輪替的條件是否符合,強制配置檔案中所有的                        日志進行輪替

配置檔案一般都是/etc/logrotate.conf檔案