Nginx日志分割方法

Nginx不像Apache有自己配套的切割工具,那么我们就需要写个shell脚本来处理分割需求了,脚本示例如下:

# 新建脚本文件并编辑文件内容
vi /usr/local/sbin/nginx_logrotate.sh
#! /bin/bash
d=`date -d "-1 day" +%Y%m%d` #生成昨天的日期
logdir="/www/wdlinux/nginx/logs/" #nginx日志文件目录
nginx_pid="/www/wdlinux/nginx/logs/nginx.pid" #pid文件路径
cd $logdir
for log in `ls *.log`  #把ls列举的.log文件,执行以日期格式的重命名
do
    mv $log $log-$d
done
/bin/kill -HUP `cat $nginx_pid` #重载nginx.pid,可以理解为热启动nginx

给脚本文件授予执行权限:

chmod +x /usr/local/sbin/nginx_logrotate.sh

查看shell脚本执行过程:

sh -x /usr/local/sbin/nginx_logrotate.sh

确认无误后,加入计划任务列表:

# 编辑定时任务
crontab -e
# 加入如下内容
0 0 * * * /usr/local/sbin/nginx_logrotate.sh

发表评论

邮箱地址不会被公开。 必填项已用*标注