LNMP笔记:切割Nginx网站日志

网站日志对分析服务器故障非常有用,所以一般都开启了,但是军哥的LNMP环境默认是没有切割网站日志的,日复一日,网站日志文件就会非常大,几个G或直接占完服务器空间都是有可能的。所以,比较好的方案就是定期切割网站日志,然后删除过老的日志文件。具体的方法,其实军哥已经给出,直接copy一份备忘:

=====转载自:http://www.vpser.net/manage/cut-nginx-log-files.html  =====

目前网上也有一些Nginx日志切割脚本,但是论坛还是有用户反映网上Nginx日志切割脚本有问题,我感觉一般是因为脚本中的参数设置问题,或者是crontab中的设置问题。

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

如果是lnmp0.5/0.6/0.7/0.8/0.9通用,用户可以仅修改log_files_name后面的要切割的日志文件名就直接使用(经测试 lnmp 1.0 和 1.1 也是可以使用的)。

脚本主要参数:

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

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

将nginx日志切割脚本下载到/root/下面(然后修改上面提到的参数)。再添加自动执行。

执行:

  1. crontab -e

输入:

  1. 00 00 * * * /bin/bash /root/cut_nginx_logs.sh

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

或者直接输入代码

  1. echo  "0 0 * * * /root/cut_nginx_logs.sh"  >> /var/spool/cron/root

==================== 转载结束 ===============================

附:输入 crontab -e  提示:     crontab: command not found,只需要运行下面的命令安装 vixie-cron crontabs 即可:

  1. yum -y install  vixie-cron crontabs

其中,vixie-cron 是cron的主程序;crontabs 是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

  • IT运维QQ群
  • 扫一扫欢迎加入
  • weinxin
  • IT微信群加好友申请
  • IT微信运维交流扫一扫加入
  • weinxin
avatar

评论已关闭!

目前评论:1   其中:访客  1   博主  0

    • avatar 467921742 0

      我又来了,您高兴吗?!