Linux下nginx生成日志自动切割的实现方法
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、加入定时任务,每天0点自动切割
# 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;
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。