有时在实际开发中需要记录nginx日志,并以每天记录一个日志文件
当然肯定是需要写一个shell脚本
在nginx目录下新建一个目录 daylog ,新建一个脚本文件log.sh,给log.sh添加可执行权限 chmod +x log.sh
再在daylog下创建一个logs文件夹用来放置日志文件。
在log.sh文件输入:
#!/bin/bash(必须放在第一行)
#host.access.log日志是我nginx其中一个server的日志,并不是nginx默认的access.log日志文件
LOG_PATH=/usr/local/nginx/logs/host.access.log
BASE_PATH=/usr/local/nginx/daylog/logs
bak=$BASE_PATH/$(date -d yesterday +%Y%m%d).access.log
mv $LOG_PATH $bak
touch $LOG_PATH
kill -USR1 cat /usr/local/nginx/logs/nginx.pid
然后linux crontab命令定时每天晚上12点过后执行一次,同样的思路可以每小时记录一个日志,每分钟都可以。根据需要