1 编写脚本cut_nginx_log.sh,放置在nginx/sbin/目录下,修改成可执行
#!/bin/bash
# This script run at 00:00
#放置日志目录
logs_path="/var/www/logs"
#nginx 目录
nginx_path="/var/www/nginx"
#创建日期目录
mkdir -p ${logs_path}/$(date -d "yesterday" +"%Y.%m")/
#移动nginx/logs/access.log日志到指定目录
mv ${nginx_path}/logs/access.log ${logs_path}/$(date -d "yesterday" +"%Y.%m")/$(date -d "yesterday" +"%Y.%m.%d").log
#通知nginx进程刷新日志文件
kill -USR1 `cat ${nginx_path}/logs/nginx.pid`
2 添加系统定时任务:sudo crontab -e
00 00 * * * /var/www/nginx/sbin/cut_nginx_log.sh
#!/bin/bash
# This script run at 00:00
#放置日志目录
logs_path="/var/www/logs"
#nginx 目录
nginx_path="/var/www/nginx"
#创建日期目录
mkdir -p ${logs_path}/$(date -d "yesterday" +"%Y.%m")/
#移动nginx/logs/access.log日志到指定目录
mv ${nginx_path}/logs/access.log ${logs_path}/$(date -d "yesterday" +"%Y.%m")/$(date -d "yesterday" +"%Y.%m.%d").log
#通知nginx进程刷新日志文件
kill -USR1 `cat ${nginx_path}/logs/nginx.pid`
2 添加系统定时任务:sudo crontab -e
00 00 * * * /var/www/nginx/sbin/cut_nginx_log.sh
本文介绍了一个用于自动切割Nginx日志文件的Shell脚本,并将其归档到指定目录的方法。该脚本每天凌晨执行一次,将前一天的日志文件按日期归档,同时通知Nginx刷新日志。
530

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



