Linux下nginx生成日志自動(dòng)切割的實(shí)現(xiàn)方法
創(chuàng)新互聯(lián)是一家專業(yè)提供吳中企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為吳中眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
1、編輯切割日志的 shell 程序,目錄自定
#vi /data/nginx/cut_nginx_log.sh
輸入代碼:
#!/bin/bash # This script run at 00:00 function cutAccess() { dir=$1 newdir="${dir}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")" suffix=$(date -d "yesterday" +"%Y%m%d") mkdir -p $newdir mv ${dir}/access.log ${newdir}/access.$suffix.log } cutAccess "/home/wwwlogs/www.yourdomain.com/" cutAccess "/home/wwwlogs/www.yourdomain-1.com/" cutAccess "/home/wwwlogs/www.yourdomain-2.com/" # 重啟 nginx kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
2、加入定時(shí)任務(wù),每天0點(diǎn)自動(dòng)切割
# crontab -e 0 0 * * * /bin/bash /data/nginx/cut_nginx_log.sh
3、nginx 日志格式
log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; access_log /home/wwwlogs/www.yourdomain.com/access.log access;
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!