做运维的人员都知道,平时都要监控服务器的空间利用率,不至于硬盘满,服务器停止。这是最头疼的事情了。对于一些流量大的网站,往往日志文件都非常大的。平时也经常查看日志,查看蜘蛛的来路和踪迹,如果默认日志,文件非常大。下载一次都非常麻烦,最方便的是对日志进行分割查看。nginx产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增长,这对我们想分析当天日志非常的不方便,所以需要每天把日志文件分割出来,并以时间命名。
1、登录SSH,创建cut_logs.sh文件
vi /root/cut_logs.sh
2、粘贴下面代码到cut_logs.sh,并保存
#!/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)
3、添加cut_logs.sh执行权限
chmod +x /root/cut_logs.sh
执行命令crontab -e进入编辑状态
添加如下代码,每天0点01分启动。
01 00 * * * /root/cut_logs.sh
这样每天定时分割日志文件就设置成功了。当然如果你担心日志文件占太多空间,还可以执行压缩tar,并设置删除多少天前的日志文件。