|
1,在bin目录下上传脚本cutnginxlog.sh
内容如下:
#!/bin/bash
#设置crontab自动任务
#0 0 * * * sh /home/gold/run/appfront/logs/cutlog.sh
#设置日志文件存放目录 次环境变量放到.bash_profile中维护
#NGINX_LOGDIR="/home/gold/run/appfront/logs"
#引入环境变量,不然环境变量不生效
source /home/gold/.bash_profile
#备分文件名称
NGINX_LOGNAME="$(date -d yesterday +%Y%m%d%H%M)"
#重命名日志文件
mv ${NGINX_LOGDIR}/access.log ${NGINX_LOGDIR}/${NGINX_LOGNAME}access.log
mv ${NGINX_LOGDIR}/error.log ${NGINX_LOGDIR}/${NGINX_LOGNAME}error.log
#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${NGINX_LOGDIR}/nginx.pid`
2,增加定时任务crontab -e
0 0 * * * /bin/sh /home/gold/bin/cutnginxlog.sh >> /home/gold/log/cutnginxlog.log 2>&1
每日凌晨零点开始进行切割nginx日志。
然后会有备份脚本将日志归并打包。
|
|