系統環境:ubuntu11.04+apache2
使用apache自帶的rotatelog進行日誌切割,可將日誌的檔名以年月日時分秒儲存,如2011-10-21_14_20_00,設定如下:
首先在apache2的目錄下有個sites-enabled資料夾,裡面有個000-default檔案,在該資料夾中加入一下內容:
customlog "|/usr/sbin/rotatelogs /var/log/apache2/access_log/access_log.%y-%m_%d-%h_%m_%s 300 +480 " combined
errorlog "|/usr/sbin/rotatelogs /var/log/apache2/error_log/%y%m%d 600 400m"
rotatelogs說明:
rotatelogs logfile [ rotationtime [ offset ]] | [ filesizem ]
rotationtime指的是設定多少秒後進行日誌切割,如這裡的300秒,在設定的時間之後系統將自動切割日誌;
offset指的是日誌時間的偏移量,如果不設定該偏移量,則預設為0,且顯示的時間與北京時間會不一樣,與北京時間相差8個小時,故建議將其設定為+480,單位為分鐘;
filesizem指的是日誌多大之後自動切割,可接受的單位為k,m,g,上面的errorlog設定為400m之後自動切割日誌。
我的000-default設定如下:
serveradmin webmaster@localhost
documentroot /var/www/
options followsymlinks
allowoverride none
options indexes followsymlinks multiviews
allowoverride none
order allow,deny
allow from all
scriptalias /cgi-bin/ /usr/lib/cgi-bin/
allowoverride none
options +execcgi -multiviews +symlinksifownermatch
order allow,deny
allow from all
# errorlog $/error.log
# possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
loglevel warn
# customlog $/access.log combined
alias /doc/ "/usr/share/doc/"
options indexes multiviews followsymlinks
allowoverride none
order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
customlog "|/usr/sbin/rotatelogs /var/log/apache2/access_log/access_log.%y-%m_%d-%h_%m_%s 300 +480 " combined
errorlog "|/usr/sbin/rotatelogs /var/log/apache2/error_log/%y%m%d 600 400m"
apache日誌切割
系統在日常工作中會記錄很多的檔案日誌,如果都放在乙個裡面,我們在整理查詢的時候,會很繁瑣,增加工作量,所以我們要用到日誌切割,便於我們分類歸檔。首先編輯 虛擬主機配置檔案 我們將customlog和errorlog開啟,並將後面的 改為我們的主網域名稱,errorlog lam.com error ...
apache日誌切割問題
apache 日誌切割問題 apache的日誌是可以自動切割的。方法一 使用 cronolog 為每一天建立乙個新的日誌 customlog bin cronolog logs access y m d.log combined 也可以按小時 customlog bin cronolog logs ...
apache的日誌切割
當我們每訪問一次 就會產生若干條日誌資訊,如果日誌都存放在乙個檔案中,時間久了日誌檔案將會越來越大,不僅占用空間也不方便運維和開發人員對日誌的分析 此時就需要對日誌進行切割,比如按天或者按小時產生新的日誌檔案。那麼如何進行日誌的切割呢?1.首先第一步需要設定日誌檔案的路徑 預設存在的,可忽略該步驟 ...