一、apache日志按日期記錄pache的配置文件中找到 Linux系統(tǒng)配置方法: 將其改為 Windows系統(tǒng)下配置方法: #ErrorLog "|bin/rotatelogs.exe logs/vicp_net_error-%y%m%d.log 86400 480" 第一次不知道設(shè)置480這個參數(shù),導致日志記錄時間和服務(wù)器時間相差8小時,原來是rotatelogs有一個offset參數(shù),表示相對于UTC 的時差分鐘數(shù),中國是第八時區(qū),相差480分鐘。86400是表示1天。 附rotatelogs說明 rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ] 選項 二、設(shè)置apache日志記錄格式定制日志文件的格式涉及到兩個指令,即LogFormat指令和CustomLog指令,默認httpd.conf文件提供了關(guān)于這兩個指令的幾個 示例。 LogFormat指令定義格式并為格式指定一個名字,以后我們就可以直接引用這個名字。CustomLog指令設(shè)置日志文件,并指明日志文件所用 的格式(通常通過格式的名字)。 LogFormat指令的功能是定義日志格式并為它指定一個名字。例如,在默認的httpd.conf文件中,我們可以找到下面這行代碼: LogFormat “%h %l %u %t \”%r\” %>s %b” common Apache文檔已經(jīng)給出了所有可用于格式串的變量及其含義,下面是其譯文: %…r: 請求的第一行 %…s: 狀態(tài)。對于進行內(nèi)部重定向的請求,這是指*原來*請求 的狀態(tài)。如果用%…>s,則是指后來的請求。 %…t: 以公共日志時間格式表示的時間(或稱為標準英文格式) %…{format}t: 以指定格式format表示的時間 %…T: 為響應(yīng)請求而耗費的時間,以秒計 %…u: 遠程用戶(來自auth;如果返回狀態(tài)(%s)是401則可能是偽造的) %…U: 用戶所請求的URL路徑 %…v: 響應(yīng)請求的服務(wù)器的ServerName %…V: 依照UseCanonicalName設(shè)置得到的服務(wù)器名字 在所有上面列出的變量中,“…”表示一個可選的條件。如果沒有指定條件,則變量的值將以“-”取代。分析前面來自默認httpd.conf文件的 LogFormat指令示例,可以看出它創(chuàng)建了一種名為“common”的日志格式,其中包括:遠程主機,遠程登錄名字,遠程用戶,請求時間,請求的第一 行代碼,請求狀態(tài),以及發(fā)送的字節(jié)數(shù)。 有時候我們只想在日志中記錄某些特定的、已定義的信息,這時就要用到“…”。如果在“%”和變量之間放入了一個或者多個HTTP狀態(tài)代碼,則只有當 請 求返回的狀態(tài)代碼屬于指定的狀態(tài)代碼之一時,變量所代表的內(nèi)容才會被記錄。例如,如果我們想要記錄的是網(wǎng)站的所有無效鏈接,那么可以使用: 反之,如果我們想要記錄那些狀態(tài)代碼不等于指定值的請求,只需加入一個“!”符號即可: LogFormat %!200U SomethingWrong 三、專門記錄某個記錄SetEnvIfNoCase User-Agent Baiduspider baidu_robot apache日志備份:
在準備運行以上腳本以前,要先確認兩臺服務(wù)器之間用ssh-keygen命令生成的密鑰設(shè)置了信任關(guān)系 |