licess 发表于 2011-3-7 09:38:08

Nginx日志切割脚本

https://www.vpser.net/uploads/2011/03/nginx.gif
目前网上也有一些Nginx日志切割脚本,但是论坛还是有用户反映网上Nginx日志切割脚本有问题,我感觉一般是因为脚本中的参数设置问题,或者是crontab中的设置问题。

为方便lnmp一键安装包用户,我也写了一个Nginx日志切割脚本,下载地址:http://soft.vpser.net/lnmp/ext/cut_nginx_logs.sh LNMP安装包里 tools 下以自带次脚本。


如果是lnmp0.5/0.6用户可以直接使用不需要修改脚本。

脚本主要参数:
#设置nginx日志文件目录路径
log_files_path="/home/wwwlogs/"
#日志文件将会存放到/home/wwwlogs/年/月/日志文件名_年月日.log
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#设置要切割的日志的名字,如果日志目录下面的日志文件名为vpser.net.log,则填写vpser.net,每个日志名用空格分隔
log_files_name=(access vpser.net licess)
#设置nginx文件的位置
nginx_sbin="/usr/local/nginx/sbin/nginx"
#设置日志保存的时间,天
save_days=30


如果是非lnmp一键安装包用户可以通过修改上述参数适应你的nginx环境。


将nginx日志切割脚本下载到/root/下面。再添加自动执行,执行:crontab -e


输入:00 00 * * * /bin/bash /root/cut_nginx_logs.sh 每天0点整开始切割脚本。


本文仅供Nginx用户及lnmp用户参考,如有问题欢迎到https://bbs.vpser.net反馈。


原创文章谢绝转载!

fanzhaode 发表于 2011-3-7 10:14:09

军哥真是努力啊!看来我也得努力学习了,希望有地方能帮到军哥,为大家也做点贡献

dianso 发表于 2011-3-7 18:41:51

支持啊,用上了!!!!

zleicx 发表于 2011-3-7 23:53:59

回复 1# 的帖子

这个是适用多个日志文件的吧

[ 本帖最后由 zleicx 于 2011-3-8 00:22 编辑 ]

zleicx 发表于 2011-3-8 00:31:15

为什么我执行后提示:/root/cut_nginx_logs.sh: /bin/bash m:bad interpreter

去掉cut_nginx_logs.sh第一行的/bin/bash后执行出现

command not found.sh: line3
command not found.sh: line13
command not found.sh: line18
command not found.sh: line20
command not found.sh: line22 syntax error near unexpected token 'do
command not found.sh: line22 for((i=0;i<$log_files_num;i++));do

怎么回事?

[ 本帖最后由 zleicx 于 2011-3-8 00:37 编辑 ]

baiantang 发表于 2011-3-8 10:10:40

谢谢军哥啊 我试下

baiantang 发表于 2011-3-8 10:23:25

谢谢啊成功了网上试了很多次不成功 用军哥的成功了 感谢军哥

licess 发表于 2011-3-8 11:11:10

回复 5# 的帖子

是不是在本地用过记事本之类的编辑过,使用记事本可能保存后就成DOS格式的了,建议使用vi或者nano之类的编辑器编辑。
可以使用vi /root/cut_nginx_logs.sh
再输入set fileformat=unix 回车
在输入:wq 回车
这样就转化成unix格式的了。

test96 发表于 2011-3-26 22:53:00

我加上了,ok,请问军哥,怎样修改开始时间,我想改改

jumbomart 发表于 2011-5-12 11:17:35

请问军哥,日志脚本文件添加了新的要切割的文件名。是立即生效的吗?

比如将 log_files_name=(access vpser.net licess)
修改为:log_files_name=(access vpser.net licess localhost 127.0.0.1)

并且也有这两个文件

如果不能生效,需要什么命令呢?

licess 发表于 2011-5-12 12:23:54

回复 10# 的帖子

每天0点整开始切割脚本。

vpser.net licess localhost 127.0.0.1 也是都是你log文件名?

这些肯定都要改成你自己的,别照抄。。

kiah 发表于 2011-5-19 14:16:57

请问lnmp的Nginx如何绑定域名绑定目录

请问lnmp的Nginx如何绑定域名绑定目录

xg3366 发表于 2012-2-23 23:33:51

请问军哥,在LNMPA一键安装包 0.8里面需要下载这个切割脚本吗?

如果需要的话,请问把这个脚本放到哪个目录里面?

需要把这个脚本添加为自动执行吗?怎么添加为自动执行呢?

本人是新手,诚请各高手帮忙解答一下,感谢!!

这个每天定时切割脚本,需要我的vps安装Crontab服务吗?

[ 本帖最后由 xg3366 于 2012-2-23 23:40 编辑 ]

licess 发表于 2012-2-24 10:02:46

文中已经给出自动运行的方法

需要

fly785041 发表于 2012-7-7 15:57:21

学习下

学习下..呵呵 希望lanp越做越好
页: [1] 2
查看完整版本: Nginx日志切割脚本