Nginx 日誌備份的腳本

第一步 重命名文件,移動日誌文件html

 

第二步 向主進程發送從新打開日誌文件的信息linux

 

#!/bin/bash
LOGPATH=/var/log/nginx/error.log
BACKPATH=/var/www/html/nginxLogs
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mkdir -p ${BACKPATH}
mv ${LOGPATH}  ${BACKPATH}/${YESTERDAY}.wuyanzu.error.log
PID=/var/run/nginx.pid
#向Nginx主進程發送USR1信號,從新打開日誌文件
kill -USR1 `cat ${PID}

 

在沒有執行kill -USR1 `cat ${pid_path}`以前,即使已經對文件執行了mv命令而改變了文件名稱,nginx仍是會向新命名的文件」 xxx.log_ 20130909」照常寫入日誌數據的。緣由在於:linux系統中,內核是根據文件描述符來找文件的。 nginx

 

crontab -ebash

 

 定時腳本:spa

 

01 00 * * *  /bin/bash  /usr/local/nginx/log.sh.net

 

啓動服務日誌

 

systemctl start crond.servicecode

 

 

詳細參考:https://blog.csdn.net/yz18931904/article/details/80639822htm

相關文章
相關標籤/搜索