资料来源:https://www.centos.bz/2011/03/split-nginx-logfile-eveyday/php
Nginx产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增加,这对咱们想分析当天日志很是的不方便,因此须要天天把日志文件分割出来,并以时间命名。mysql
一、登陆SSH,建立cut_logs.sh文件nginx
vi /root/cut_logs.sh
二、粘贴下面代码到cut_logs.sh,并保存sql
#!/bin/bash # The Nginx logs path logs_path="/home/wwwlogs/" mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/ mv ${logs_path}www.juzihc.com.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/juzihc_$(date -d "yesterday" +"%Y%m%d").log kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
三、添加cut_logs.sh执行权限shell
chmod +x /root/cut_logs.sh
执行命令crontab -e进入编辑状态
添加以下代码,天天0点01分启动。centos
01 00 * * * /root/cut_logs.sh
这样天天定时分割日志文件就设置成功了。固然若是你担忧日志文件占太多空间,还能够执行压缩tar,并设置删除多少天前的日志文件。tomcat
更多相关运维资料参考:bash
如:Zabbix监控Memcached PHP-FPM Tomcat Nginx MySQL 网站日志
memcached