nginx 日志分割2个脚本

启动脚本

yum install vixie-cron crontabs -y

cat >>/etc/crontab<<EOF
0 0 * * * /bin/bash /home/nfs/nginx/sh/nginx_cron_day.sh
EOF

service crond restart

目前自用的是这个

#! /bin/bash
#0 0 * * * /bin/bash /home/sh/nginx-log.sh
d=`date -d "-1 day" +%Y-%m-%d`   #生成昨天的日期
logdir="/home/ngzb/log/nginx/"   #定义存放位置
nginx_pid="/run/nginx.pid" #定义位置,找他的pid
#mkdir -p $logdir$d 新建保存目录
mkdir -p $logdir/last_log/$d/

cd $logdir #进入目录下
for log in `ls *.log`  #做个for循环
do    
   mv $log $logdir/last_log/$d/   #做一个改名操作
done
/bin/kill -HUP `cat $nginx_pid`  
# touch auto-del-7-day-ago-log.sh
# chmod +x auto-del-7-day-ago-log.sh
# vim auto-del-7-day-ago-log.sh
find $logdir -mtime +180 -name "*.log" -exec rm -rf {} \;
find $logdir -type d -empty|xargs -n 1 rm -rf 
#find $logdir -mtime +180 -name "*.log" -exec rm -rf {} \;

脚本2

#/bin/bash 
yesterday=$(date +%Y-%m-%d)
#过去日志保存的目录
savepath_log='/home/ngzb/log/nginx/last_log'
#当前日志目录
nglogs='/home/ngzb/log/nginx' 
mkdir -p ${savepath_log}/${yesterday}
#
for name in `ls ${nglogs}/*.log`;
do echo $name ${name%-${yesterday}}.log;
done
mv ${nglogs}/*.log ${savepath_log}/${yesterday}/
/usr/local/nginx/sbin/nginx -s reload
find ${savepath_log} -mtime +30 -name "*.log" -exec rm -rf {} \;
rmdir -p ${savepath_log}
find ${savepath_log} -type d -empty|xargs -n 1 rm -rf 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值