欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

圖文詳解nginx日志切割的實(shí)現(xiàn)

 更新時(shí)間:2022年01月17日 09:49:55   作者:BK_小小關(guān)  
這篇文章主要給大家介紹了關(guān)于nginx日志切割實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

實(shí)現(xiàn)nginx的日志切割

(注:為什么要切割呢?因?yàn)楫?dāng)你用戶訪問量大的時(shí)候,可能日志也很大。)

《1》:ll /usr/local/nginx/logs/  查看日志 (注:有兩個(gè)日志,一個(gè)是訪問日志,另一個(gè)是錯(cuò)誤日志。)

《2》:tail -f /usr/local/nginx/logs/access.log  查看訪問日志

《3》:vim /opt/cut_nginx_log.sh  編寫一個(gè)腳本

《4》:腳本內(nèi)容:

#!/bin/bash
 
#cut_nginx_log.sh
 
datetime=$(date -d "-1 day" "+%Y%m%d")
 
log_path="/usr/local/nginx/logs"
 
pid_path="/usr/local/nginx/logs/nginx.pid"
 
[ -d $log_path/backup ] || mkdir -p $log_path/backup
 
if [ -f $pid_path ]
 
then
 
mv $log_path/access.log $log_path/backup/access.log-$datetime
 
kill -USR1 $(cat $pid_path)
 
find $log_path/backup -mtime +30 | xargs rm -f
 
else
 
echo "Error,Nginx is not working!" | tee -a /var/log/messages
 
fi

注釋:

#!/bin/bash

#cut_nginx_log.sh



datetime=$(date -d "-1 day" "+%Y%m%d")??????? //時(shí)間,date -d "-1 day"代表日期減1

log_path="/usr/local/nginx/logs"???????????? //日志的存放位置

pid_path="/usr/local/nginx/logs/nginx.pid"?? //進(jìn)程的PID號(hào),有PID號(hào)代表 進(jìn)程還活著

[ -d $log_path/backup ] || mkdir -p $log_path/backup?? //如果$log_path/backup不是一個(gè)目錄則創(chuàng)

建$log_path/backup目錄

if [ -f $pid_path ]??????????????????????????????? //如果$pid_path是一個(gè)文件

then

mv $log_path/access.log $log_path/backup/access.log-$datetime? //那么移動(dòng)舊日志的文件到新目錄

下以此來實(shí)現(xiàn)分割

kill -USR1 $(cat $pid_path)??????????????????????????????????? //USR1代表信號(hào),他會(huì)給進(jìn)程傳一

個(gè)信號(hào)讓進(jìn)程生成一個(gè)新的日志

find $log_path/backup -mtime +30 | xargs rm -f??????????????? //查找30天前的日志并刪除

else

echo "Error,Nginx is not working!" | tee -a /var/log/messages? //否則提示nginx is not working且追加到日志中

fi

(注:kill 信號(hào),信號(hào)有64種。)

《5》:chmod +x /opt/cut_nginx_log.sh   給腳本添加執(zhí)行權(quán)限

《6》:crontab -e   寫計(jì)劃任務(wù)

《7》:寫入

*/5???? *?????? *?????? *?????? *?????? /usr/sbin/ntpdate pool.ntp.org > /dev/null 2

>&1

0?????? 0?????? *?????? *?????? *?????? /opt/cut_nginx_log.sh

《7》:/opt/cut_nginx_log.sh  執(zhí)行腳本

《8》:ls /usr/local/nginx/logs  查看日志目錄下(注:下面中access.log是新的訪問日志,backup里面是老的訪問日志。)

《9》:ls /usr/local/nginx/logs/backup/ 查看

《10》:tailf /usr/local/nginx/logs/access.log   查看訪問日志(注:tailf 是等同tail -f的)

《11》:在瀏覽器中訪問

《11》:tailf /usr/local/nginx/logs/access.log  在去訪問,他下面會(huì)出現(xiàn)

面試題討論:

說明Nginx的訪問日志記錄在 access.log文件中。

1、如果將access.log重命名為a.log時(shí),新產(chǎn)生的日志寫到哪兒?為什么?

答案:日志將會(huì)寫入到a.log 文件中,因?yàn)橹孛笪募?Inode,沒有變化,文件系統(tǒng)是根據(jù)Inode查找文件的。

2、如果此時(shí)將 Nginx服務(wù)重啟后,新產(chǎn)生的田志寫到哪兒?為什么?

答案:日志將會(huì)寫入到新的access.log文件中,因?yàn)橹貑r(shí)會(huì)加載Nginx的配置文件,配置文件中是通過文件名指定日志的,所以會(huì)創(chuàng)建新的日志。

總結(jié)

到此這篇關(guān)于圖文詳解nginx日志切割實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)nginx日志切割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論