浏览 3220 次
锁定老帖子 主题:nginx日志管理脚本
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-08
最后修改:2009-11-16
此脚本实现nginx日志文件按天自动切割,并且删除一个月前的日志
先上脚本: #!/bin/bash cd /var/log/nginx/ mv sendsadmin.access.log sendsadmin.access.$(date +%Y%m%d).log mv api.sends.cc.access.log api.sends.cc.access.$(date +%Y%m%d).log mv blog.sends.cc.access.log blog.sends.cc.access.$(date +%Y%m%d).log mv error.log error.$(date +%Y%m%d).log sudo kill -USR1 `cat /usr/local/web/nginx636/logs/nginx.pid` find /var/log/nginx/ -name "sendsadmin.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1 find /var/log/nginx/ -name "api.sends.cc.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1 find /var/log/nginx/ -name "blog.sends.cc.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1 find /var/log/nginx/ -name "error.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1 注解: mv sendsadmin.access.log sendsadmin.access.$(date +%Y%m%d).log #把日志文件sendsadmin.access.log改名为sendsadmin.access.(当天日期).log sudo kill -USR1 `cat /usr/local/web/nginx636/logs/nginx.pid` #nginx重建日志文件 find /var/log/nginx/ -name "sendsadmin.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1 #find -- 查找 #/var/log/nginx/ -- 查找日志目录 #-name "sendsadmin.access.*" -type f -- 找以"sendsadmin.access."开头的文件 #-ctime +30 -- 查找距离当日30天前文件 #-exec rm {} \; -- 找到后执行rm命令 #> /dev/null 2>&1 -- 输出重定向 保存脚本到本地并把脚本加入crontab每天23:59运行 sudo vi /etc/crontab 加入以下: 59 23 * * * root /bin/bash /usr/local/web/nginx636/conf/cutlogs.sh 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-11-16
lz这个还是不够强大
现在有啥更新没有 比如数据统计,来源分析之类的 |
|
返回顶楼 | |
发表时间:2009-11-16
这个只是切割脚本而已。
分析工具用awstats,可以看看这个:http://saplingidea.iteye.com/blog/491881 |
|
返回顶楼 | |