nginx web服務(wù)器中access日志,默認是不能按時間分隔的,每次日志都是打在access.log上肿孵,這樣久而久之這個日志文件就特別的大澳眷,也不利于清理和管理胡嘿,故此我們肯定是需要做時間上的切割的,那么如何做到完美的切割的呢钳踊?
我們采取的方案是利用shell腳本和crontab定時任務(wù)來做
比如新建一個nginx_time_log.sh腳本衷敌,里面的內(nèi)容如下
#!/bin/bash
local_path=/home/work/tp/log/webserver ? ?#找到您服務(wù)器中存放access日志的目錄
cd $local_path ?#進入這個目錄
#echo access_log $local_path/access_log` date +%Y%m%d%H` ? #測試下路徑是否正常
mv access_log $local_path/access_log` date +%Y%m%d%H` ?#把當前的access_log挪到這個時期下,其實就是相當于日志的切分
nginx_pid=`ps -ef |grep -v grep |grep “nginx: master process “|awk -F” ” ‘{print $2}’` ?#找到您nginx的進程
` kill -USR1 $nginx_pid` ?#執(zhí)行usr1
這樣就會先把access_log 移動到一個access_log.時間 ?的日志文件拓瞪,并且會新生產(chǎn)一個access_log文件
最后通過定時任務(wù)來讓這個nginx_time.sh腳本按每小時來進行切分
crontab命令如下:
0 */1 * * * ? sh ? /xxx(您這個腳本的存放命令)/nginx.sh
日志圖如下:
之前singwa做過2套實戰(zhàn)課程缴罗,成功幫助很多小伙伴找到了心儀的工作
ThinkPHP5實戰(zhàn)-仿百度糯米開發(fā)多商家電商平臺
備注:視頻合作方-慕課網(wǎng)
更多內(nèi)容請關(guān)注singwa官網(wǎng): singwa.cn