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