当前位置: > Linux服务器 > nginx >

每天自动分割Nginx日志文件的shell脚本

时间:2014-07-04 01:13来源:linux.it.net.cn 作者:IT网
对nginx日志文件进行自动分割,是个不错的主意,这在日常的运行中应当作为一个固定的任务来执行。
本文介绍的方法,把每天的日志文件分割出来,并以时间命名。
首先,创建日志分割脚本。
1、登录SSH,创建cut_logs.sh文件
vi /root/cut_logs.sh
内容如下:

复制代码 代码示例:
#!/bin/bash
# The Nginx logs path
logs_path="/var/wwwlogs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}www.jbxue.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)
2、添加cut_logs.sh执行权限

复制代码 代码示例:
chmod +x /root/cut_logs.sh
设置cut_logs.sh启动时间,执行命令crontab -e进入编辑状态:

复制代码 代码示例:
01 00 * * * /root/cut_logs.sh
设置定时任务:每天0点01分启动。
完成以上二步之后,每天定时分割日志文件就设置成功了。
有兴趣的朋友,可以考虑将日志执行tar压缩,还可以在脚本中设置删除多少天前的文件。
这些留给大家自己研究吧。 (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容