国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

centos中nginx按日期自動(dòng)分割訪問(wèn)日志

2016-08-12 07:54:45 14135

Web 訪問(wèn)日志 (access_log) 記錄了所有外部客戶端對(duì)Web服務(wù)器的訪問(wèn)行為,包含了客戶端IP,訪問(wèn)日期,訪問(wèn)的URL資?,服務(wù)器返回的HTTP狀態(tài)碼等重要信息。 
一條典型的Web訪問(wèn)日志如下:

192.168.50.195 - - [17/Jun/2016:23:59:12 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36" "-"1

1、 要解決問(wèn)題:

當(dāng)網(wǎng)站訪問(wèn)量大后,日志數(shù)據(jù)就會(huì)很多,如果全部寫(xiě)到一個(gè)日志文件中去,文件會(huì)變得越來(lái)越大。文件大速度就會(huì)慢下來(lái),比如一個(gè)文件幾百兆。寫(xiě)入日志的時(shí)候,會(huì)影響操作速度。另外,如果我想看看訪問(wèn)日志,一個(gè)幾百兆的文件,下載下來(lái)打開(kāi)也很慢。

注意:使用第三方免費(fèi)的日志分析工具-日志寶,可以上傳nginx、apache、iis的日志文件,它們幫助分析網(wǎng)站安全方面。畢竟專攻,更加專業(yè)。日志寶對(duì)上傳的文件也是做了大小限制的,不超過(guò)50m。

2、日志自動(dòng)切割腳本編寫(xiě)

nignx沒(méi)有自動(dòng)分開(kāi)文件存儲(chǔ)日志的機(jī)制。由于nginx它不會(huì)幫你自動(dòng)分文件保存。所以,需要自己編寫(xiě)腳本來(lái)實(shí)現(xiàn)。

#!/bin/bash# Program:#     Auto cut nginx log script.# 2016/6/15  luozhibo # nginx日志路徑 /var/log/nginx/LOGS_PATH=/var/log/nginx
TODAY=$(date -d 'today' +%Y-%m-%d)#echo $TODAY# 移動(dòng)日志并改名mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${TODAY}.log
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${TODAY}.log# 向nginx主進(jìn)程發(fā)送重新打開(kāi)日志文件的信號(hào)kill -USR1 $(cat /var/run/nginx.pid)

上面shell腳本的原理是:

先把以前的日志文件移動(dòng)重命名,目的是就是備份。

3、crontab自動(dòng)任務(wù)配置

直接編寫(xiě)vim /etc/crontab 或者 直接通過(guò)echo寫(xiě)入自動(dòng)任務(wù)

echo '59 23 * * * root /var/log/nginx/nginx_log_division.sh >> /var/log/nginx/cutnginxlog.log 2>&1' >> /etc/crontab

每晚23:59分自動(dòng)執(zhí)行計(jì)劃任務(wù)  以root用戶身份運(yùn)行  將自動(dòng)任務(wù)的執(zhí)行日志(錯(cuò)誤和正確的日志)自動(dòng)寫(xiě)入cutnginxlog.log  “命令 >> 2>&1” 表示以追加方式將正確輸出和錯(cuò)誤輸出都保存到同一個(gè)文件中


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: