nginx运行时会产生大量的日志,为了方便查询日志,所以有是时候需要将日志文件进行分割
第一步、在nginx安装目录下的logs/目录新建并编辑文件:vi nginxLogRotate.sh
#!/bin/bash
#设置日志文件存放目录
LOG_HOME="/usr/local/nginx/logs/"
#备分文件名称
LOG_PATH_BAK="$(date -d yesterday +%Y%m%d%H%M)"
#重命名日志文件
mv ${LOG_HOME}/access.log ${LOG_HOME}/access.${LOG_PATH_BAK}.log
mv ${LOG_HOME}/error.log ${LOG_HOME}/error.${LOG_PATH_BAK}.log
#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${LOG_HOME}/nginx.pid`
第二步、设置定时任务
1输入命令:crontab -e
2加上命令:*/1 * * * * /usr/local/nginx/sbin/logcut.sh
第二条定时任务表示一分钟执行一次,这里只是方便测试,如要设置成其他时间,请自行百度调整
第三步、启动相关的日志系统并开启定时任
注:此处路径可能不一样
/etc/init.d/rsyslog start #系统日志,如不开启,看不到定时任务日志
/etc/rc.d/init.d/crond start #定时任务开启
第四步、启动nginx
运行sbin/nginx
完成之后的结果如下:
注:如果要确定自己的定时是正常执行的,可以运行一下命令
tail -f /var/log/cron
结果如下: