查看: 36|回复: 0

[教程] Linux下nginx生成日志自动切割的实现方法

[复制链接]

6

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-7-26
发表于 2023-8-21 00:00:00 | 显示全部楼层 |阅读模式

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部