Linux下nginx生成日志自動切割的實現方法
1、編輯切割日志的 shell 程序,目錄自定
1
|
#vi /data/nginx/cut_nginx_log.sh |
輸入代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/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、加入定時任務,每天0點自動切割
1
2
|
# crontab -e 0 0 * * * /bin/bash /data/nginx/cut_nginx_log .sh |
3、nginx 日志格式
1
2
3
4
|
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; |
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/zhouzme/article/details/18909185