中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
apache日志按照日期記錄等各種設(shè)置方法

apache日志按照日期記錄等各種設(shè)置方法

一、apache日志按日期記錄

pache的配置文件中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

Linux系統(tǒng)配置方法:

將其改為
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

Windows系統(tǒng)下配置方法:

#ErrorLog "|bin/rotatelogs.exe logs/vicp_net_error-%y%m%d.log 86400 480"
#CustomLog "|bin/rotatelogs.exe logs/vicp_net_access-%y%m%d.log 86400 480" common

第一次不知道設(shè)置480這個參數(shù),導致日志記錄時間和服務(wù)器時間相差8小時,原來是rotatelogs有一個offset參數(shù),表示相對于UTC 的時差分鐘數(shù),中國是第八時區(qū),相差480分鐘。86400是表示1天。

附rotatelogs說明

rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]

選項
logfile
它加上基準名就是日志文件名。如果logfile中包含’%’,則它會被視為用于的strftime(3)的格式字串;否則,它會被自動加上以秒為單位 的.nnnnnnnnnn后綴。這兩種格式都表示新的日志開始使用的時間。
rotationtime
日志文件回卷的以秒為單位的間隔時間
offset
相對于UTC的時差的分鐘數(shù)。如果省略,則假定為0,并使用UTC時間。比如,要指定UTC時差為-5小時的地區(qū)的當?shù)貢r間,則此參數(shù)應(yīng)為-300。
filesizeM
指定回卷時以兆字節(jié)為單位的后綴字母M的文件大小,而不是指定回卷時間或時差。

二、設(shè)置apache日志記錄格式

定制日志文件的格式涉及到兩個指令,即LogFormat指令和CustomLog指令,默認httpd.conf文件提供了關(guān)于這兩個指令的幾個 示例。

LogFormat指令定義格式并為格式指定一個名字,以后我們就可以直接引用這個名字。CustomLog指令設(shè)置日志文件,并指明日志文件所用 的格式(通常通過格式的名字)。

LogFormat指令的功能是定義日志格式并為它指定一個名字。例如,在默認的httpd.conf文件中,我們可以找到下面這行代碼:

LogFormat “%h %l %u %t \”%r\” %>s %b” common
網(wǎng)管聯(lián)盟www.bitsCN.com
該指令創(chuàng)建了一種名為“common”的日志格式,日志的格式在雙引號包圍的內(nèi)容中指定。格式字符串中的每一個變量代表著一項特定的信息,這些信息按照格 式串規(guī)定的次序?qū)懭氲饺罩疚募?/p>

Apache文檔已經(jīng)給出了所有可用于格式串的變量及其含義,下面是其譯文:
%…a: 遠程IP地址
%…A: 本地IP地址
%…B: 已發(fā)送的字節(jié)數(shù),不包含HTTP頭
%…b: CLF格式的已發(fā)送字節(jié)數(shù)量,不包含HTTP頭。例如當沒有發(fā)送數(shù)據(jù)時,寫入‘-’而不是0。
%…{FOOBAR}e: 環(huán)境變量FOOBAR的內(nèi)容
%…f: 文件名字
%…h: 遠程主機
%…H 請求的協(xié)議
%…{Foobar}i: Foobar的內(nèi)容,發(fā)送給服務(wù)器的請求的標頭行。
%…l: 遠程登錄名字(來自identd,如提供的話)
%…m 請求的方法
%…{Foobar}n: 來自另外一個模塊的注解“Foobar”的內(nèi)容
%…{Foobar}o: Foobar的內(nèi)容,應(yīng)答的標頭行
%…p: 服務(wù)器響應(yīng)請求時使用的端口
%…P: 響應(yīng)請求的子進程ID。
%…q 查詢字符串(如果存在查詢字符串,則包含“?”后面的部分;否則,它是一個空字符串。)

%…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)站的所有無效鏈接,那么可以使用:
LogFormat %404{Referer}i BrokenLinks

反之,如果我們想要記錄那些狀態(tài)代碼不等于指定值的請求,只需加入一個“!”符號即可:

LogFormat %!200U SomethingWrong

三、專門記錄某個記錄

SetEnvIfNoCase User-Agent Baiduspider baidu_robot
LogFormat “%h %t \”%r\” %>s %b” robot
CustomLog “|/usr/local/apache2.2.0/bin/rotatelogs /usr/local/apache2.2.0/logs/baidu_%Y%m%d.txt 86400 480″ robot env=baidu_robot
windows下
CustomLog “|bin/rotatelogs.exe  logs/baidu_%Y%m%d.txt 86400 480″ robot env=baidu_robot
這樣在logs目錄下,就會每天產(chǎn)生baidu_年月日.txt的日志了,每條的記錄和下面的類似:
61.135.168.14 [22/Oct/2008:22:21:26 +0800] “GET / HTTP/1.1″ 200 8427

apache日志備份:

  • 按照Linux系統(tǒng)配置方法配置好 服務(wù)器A之后,就可以去備份服務(wù)器B寫備份腳本了,這里假設(shè)服務(wù)器A的IP為:192.168.0.3,腳本如下:
  • # apache log backup
    #!/bin/bash
     
    # 獲取昨天的日期
    logfilename=`date -d yesterday +%Y%m%d`

    # 設(shè)置日志備份文件路徑
    backupfilepath=/var/www/logs/

    # 備份錯誤日志文件
    echo "get example error log:"
    cd ${backupfilepath}

    # 獲到服務(wù)器A昨天的日志文件
    scp root@192.168.0.3:/var/log/httpd/example_error_log/${logfilename} ./example/error/
    cd ${backupfilepath}example/error/

    # 打包壓縮日志文件
    tar zcvf ${logfilename}.tar.gz ${logfilename}
    rm -rf ${logfilename}
     
    # 備份訪問日志文件
    echo "get example access log:"
    cd ${backupfilepath}
    scp root@192.168.0.3:/var/log/httpd/example_access_log/${logfilename} ./example/access/
    cd ${backupfilepath}example/access/
    tar zcvf ${logfilename}.tar.gz ${logfilename}
    rm -rf ${logfilename}

    echo "done.
  •  

  • 在準備運行以上腳本以前,要先確認兩臺服務(wù)器之間用ssh-keygen命令生成的密鑰設(shè)置了信任關(guān)系
    然后將該腳本命名為apachelog_backup.sh保存到/var/cron/目錄下。

  • 確認兩臺服務(wù)器的備份目錄都已建立好,測試一下腳本,比如到服務(wù)器A的備份目錄建立一個用前一天日期命名的日志文件,內(nèi)容隨便, 然后再到備份服務(wù)器B去先執(zhí)行一下腳本,查看是否備份成功。
    最后用 crontab -e 命令在linux的定時任務(wù)中加入自動執(zhí)行任務(wù),讓腳本在每天凌晨12點之后自動執(zhí)行,如下:

    30 00 * * * sh /var/cron/apachelog_backup.sh

    這里設(shè)置了每天零點30分執(zhí)行腳本。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
NAT負載均衡方式,apache如何在日志中記錄客戶端IP
apache的日志配置 - 風吟的日志 - 網(wǎng)易博客
nginx日志按照天進行分割
OHaHa‘s學習心得 | rotatelogs - 讓Apache 輪迴產(chǎn)生log 而不用中斷服務(wù)
rotatelog日志切割
awstats安裝使用
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服