欢迎您,零度科技专业海外服务器租用
公司电话: 24小时电话: 

当前位置:首页>下载中心>常用软件

nginx多站点日志分割shell

香港高防(5G)机房 添加于 2014-01-16   shellshell编程

相信不少网友都是在linux系统中跑nginx这个web服务器,它不象是apache或是iis,nginx的高性能的HTTP及反向代理服务器,向绝多数网站站长均选择了它,但是nginx有一个小小的缺点就是生成的网站日志文件无法象iis或是apache这些服务器一样自动分割,不过我们可以通过在linux系统中做一些简单的设置即可解决这个小缺点。

也许不少网友都先百度或谷歌搜索到不少类似的教程了,如果你已经熟悉linux或是已经非常熟练的配置这些了,就一笑而过吧。

本文主要是针对那些对linux系统不是很熟悉,或是菜鸟级别的新手站长们,本文就一步一步的说下如何在centos系统中进行nginx多站点日志分割配置的方法,只要按本文教程来,作者保存可用,如有不懂可直接留言。

第1步:首先得在nginx中设置开启日志

找到nginx自己网站的配置文件,检查access_log 后面是否为on,如为on,改为自己的log日志文件路径,如:access_log /usr/local/nginx/logs/www.pc811.com.log;
电脑维修技术网注:这样就是把www.pc811.com的日志文件存到了/usr/local/nginx/logs/目录下,文件名为www.pc811.com.log。

第2步:在本地电脑中新建个记事板,并向记事板里复制以下代码,并另存为“nginx_log.sh”文件

#!/bin/bash#指定nginx网站日志目录路径log_files_path="/usr/local/nginx/logs/"log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")#指定网站日志文件名,多个网站日志用空格隔开,本文作者设置的全名是www.pc811.com,而这里就要写www.pc811.com,.log扩展名不要写进来了。log_files_name=(www.pc811.com)#指定nginx目录nginx_sbin="/usr/local/nginx/sbin/nginx"#设置日志保存时间save_days=30mkdir -p $log_files_dirlog_files_num=${#log_files_name[@]}for((i=0;i<$log_files_num;i++));domv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").logdone#删除旧日志find$log_files_path -mtime +$save_days -exec rm -rf {} \;$nginx_sbin -s reload
本文作者这里有写好的,大家可直接下载,稍微再改一下路径什么的,都改成自己的即可。
ps:sh就centos可运行的东东,个人认为相当于windows的.bat批处理。

第3步:使用xftp4工具登录到centos系统,登录成功后,把第2步写好的nginx_log.sh文件上传到centos中/root目录下

电脑维修技术网注:上传后的完整路径就是/root/nginx_log.sh,需要说明的是这个完整路径第4步及每天定时启动时都会用到。

第4步:使用xshell4软件成功登录到centos系统,执行“/root/nginx_log.sh”

电脑维修技术网注:如果什么都没提示,大家可到自己的nginx日志文件夹中查看一下,就会发现一个以当前年份起名的文件夹,打开后就会发现一个当前月份的文件夹,再打开后就会发现一个名字为www.pc811.com_20130827.log类似这样的文件名,剩下的步骤就是定时每天一个时间就自动执行一次这个角本。

第5步:在centos终端执行“crontab -e”命令

第6步:在打开的窗口中按“I”键(进入到编辑模式)

换一行输入“0 0 * * * /root/nginx_log.sh”代码,并按“ESC”键(退出编辑模式),输入“:wq”并确定(保存并退出)。
这个相当于Windows系统的计划任务功能,本文这里的0 0 * * * /root/nginx_log.sh意思就是0时0分时就执行/root/nginx_log.sh这个脚本
ps:如我们需要在每天早晨7时58分执行这个角本的话,需要“58 7 * * * /root/nginx_log.sh”这个写,前面是分,后面是时。

到零度科技查看原文:http://www.ldisp.com/a/download/2014/2592.shtml

下载地址

上一篇:服务器流量监控软件,可查看哪个软件使用带宽高-SmartSniff
下一篇:PHPJackal 强大的一款php网页后门,PHP系统安全检查

 
了解零度?

零度科技主营全球服务器租用,如果您有服务器租用需求请联系

海外服务器租用

推荐香港、美国、韩国。提供站群服务器、高防服务器租用

海外特价服务器

关注零度特价服务器频道,了解全球特价服务器。

0

业务咨询

    技术服务

      特价活动
        全站搜索
        热门搜索:
        会员
        0通知
        客服
        0特价
        搜索
        TOP
        香港高防服务器,远程桌面,韩国服务器,nginx,反向代理