Linux下nginx生成日志自动切割的实现方法
吾爱主题
阅读:140
2024-04-05 13:51:58
评论:0
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
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。