nginx日志切割脚本

线上环境NGINX日志,一直是叠加方式增长,每天日志量大概是50G。因为文件太大,不便于运维过滤error log,所以针对NGINX,结合每小时的日志量,写了如下切割脚本

 

 1 # /bin/bash
 2 
 3 #time@2019年3月14日
 4 #name@刘启明
 5 #function@NGINX日志切割
 6 
 7 
 8 #NGINX日志路径
 9 base_path='/sdb1/nginx/logs'
10 
11 
12 #创建目录时间 当天时间 例如:2019-03-14
13 #log_path=$(date -d yesterday +"%Y%m%d") #该参数是创建前一天数据,如需要当天备份,可使用
14 log_path=$(date  +"%Y%m%d")
15 
16 
17 #日志创建时间 
18 #date=$(date -d yesterday +"%Y-%m-%d-%H")#该参数是创建前一天数据,如需要当天备份,可使用
19 date=$(date  +"%Y-%m-%d-%H")
20 
21 
22 #在NGINX日志路径下创建以当天时间命名的目录
23 mkdir -p $base_path/$log_path
24 
25 
26 #将备份日志
27 mv $base_path/access.log $base_path/$log_path/access_$date.log
28 
29 
30 #NGINX日志重读
31 kill -USR1 `cat /sdb1/nginx/logs/nginx.pid`

 

通过计划任务执行该脚本,计划任务格式自行百度

0 */1 * * * /usr/local/script/nginx_cutting.sh

posted on 2019-03-14 13:23  明.Sir  阅读(2514)  评论(0编辑  收藏  举报

导航