国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

centos中nginx按日期自動分割訪問日志的方法

2024-08-30 12:28:37
字體:
來源:轉載
供稿:網友

Web 訪問日志 (access_log) 記錄了所有外部客戶端對Web服務器的訪問行為,包含了客戶端IP,訪問日期,訪問的URL資源,服務器返回的HTTP狀態碼等重要信息。

一條典型的Web訪問日志如下:

 

復制代碼 代碼如下:

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、 要解決問題:

當網站訪問量大后,日志數據就會很多,如果全部寫到一個日志文件中去,文件會變得越來越大。文件大速度就會慢下來,比如一個文件幾百兆。寫入日志的時候,會影響操作速度。另外,如果我想看看訪問日志,一個幾百兆的文件,下載下來打開也很慢。

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

2、日志自動切割腳本編寫

nignx沒有自動分開文件存儲日志的機制。由于nginx它不會幫你自動分文件保存。所以,需要自己編寫腳本來實現。

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

上面shell腳本的原理是:

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

3、crontab自動任務配置

直接編寫vim /etc/crontab 或者 直接通過echo寫入自動任務

 

復制代碼 代碼如下:

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

 

每晚23:59分自動執行計劃任務  以root用戶身份運行  將自動任務的執行日志(錯誤和正確的日志)自動寫入cutnginxlog.log  “命令 >> 2>&1” 表示以追加方式將正確輸出和錯誤輸出都保存到同一個文件中

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四会市| 岳阳市| 英德市| 济南市| 新沂市| 扶风县| 耒阳市| 海淀区| 九寨沟县| 年辖:市辖区| 当涂县| 无为县| 龙井市| 康马县| 德安县| 江安县| 昭苏县| 闵行区| 鄯善县| 宜君县| 黔东| 高清| 奉化市| 无极县| 定州市| 福鼎市| 若羌县| 德兴市| 瓦房店市| 丰宁| 郁南县| 长白| 齐齐哈尔市| 海原县| 博兴县| 宜黄县| 南投市| 潼南县| 噶尔县| 湾仔区| 昌邑市|