5、nginx日志切割和删除-创新互联

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

三门网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

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执行一次即可

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:5、nginx日志切割和删除-创新互联
分享路径:http://pwwzsj.com/article/desesd.html