编写shell文件:
# vim /usr/local/nginx/sbin/cut_nginx_log.sh
#!/bin/bash
#这个脚本须在每天的00:00运行
#nginx日志文件的存放路径
logs_path="/usr/local/nginx/logs/"
mkdir -P ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" + "%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" + "%m")/access_$(da
te -d "yesterday" + "%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
为文件添加执行权限
# chmod u+x /usr/local/nginx/sbin/cut_nginx_log.sh
设置定期执行任务
# crontab -e
no crontab for root - using an empty one
00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
# vim /usr/local/nginx/sbin/cut_nginx_log.sh
#!/bin/bash
#这个脚本须在每天的00:00运行
#nginx日志文件的存放路径
logs_path="/usr/local/nginx/logs/"
mkdir -P ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" + "%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" + "%m")/access_$(da
te -d "yesterday" + "%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
为文件添加执行权限
# chmod u+x /usr/local/nginx/sbin/cut_nginx_log.sh
设置定期执行任务
# crontab -e
no crontab for root - using an empty one
00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
本文介绍了一个用于Nginx日志轮转的Shell脚本,该脚本能够实现每日自动将当前access.log文件归档,并重置日志文件。通过定时任务在每天午夜执行此脚本,确保了日志文件不会无限增长,同时保留了历史访问记录。

被折叠的 条评论
为什么被折叠?



