对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) |