温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

5、nginx日志切割和删除

发布时间:2020-08-11 04:57:31 来源:网络 阅读:552 作者:西鼠 栏目:建站服务器

5、Nginx日志切割和日志定期删除


LogDir=/data/logs/nginx   #日志存放目录

LogDate=`date +%Y%m%d`    #日志名称后缀


KeepLogDays=30   #保留的天数(看自己的需求)


DelDate=`date -d "-${KeepLogDays} days" +%Y%m%d` #当前时间的前三十天时间戳(是一个具体的日期)

 (-d参数是删除 语法:date -d 3days 双引号引用的话中间可以有空格  否则会报错)

 (+%Y%m%d参数是打印日期的格式 语法:date +%Y%m%d  )


Logs=`ls -l /data/logs/nginx/*.log|awk -F'/' '{print $NF}'`   #日志存放目录下以.log结尾的日志名称


[ -d $LogDir/$LogDate ] || mkdir $LogDir/$LogDate    #判断日志存放目录下当前时间戳的是否为目录  没有的话新建目录


for i in $Logs;

do

    if [ -f $LogDir/$i ];then

        touch $LogDir/$LogDate/$i

        ln -sf $LogDir/$LogDate/$i $LogDir/$i

    fi

done

#把所有的Logs都新建在当前时间戳的目录里面,并且在上层目录下建立软链文件


kill -USR1 `cat /DIR/nginx.pid`#你的nginx.pid存放路径  看配置文件


if  [ x$KeepLogDays != x0 ];then

    rm -rf $LogDir/$DelDate

fi

#变量KeepLogDays不为零的时候删除DelDate变量代表


PS:把这个脚本写成定时任务,每天00:00执行一次即可

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI