此腳本實(shí)現(xiàn)nginx日志文件按天自動(dòng)切割,并且刪除一個(gè)月前的日志先上腳本:
- #!/bin/bash
- cd /var/log/nginx/
- mv sendsadmin.access.log sendsadmin.access.$(date +%Y%m%d).log
- mv api.sends.cc.access.log api.sends.cc.access.$(date +%Y%m%d).log
- mv blog.sends.cc.access.log blog.sends.cc.access.$(date +%Y%m%d).log
- mv error.log error.$(date +%Y%m%d).log
- sudo kill -USR1 `cat /usr/local/web/nginx636/logs/nginx.pid`
-
- find /var/log/nginx/ -name "sendsadmin.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1
- find /var/log/nginx/ -name "api.sends.cc.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1
- find /var/log/nginx/ -name "blog.sends.cc.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1
- find /var/log/nginx/ -name "error.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1
注解:
- mv sendsadmin.access.log sendsadmin.access.$(date +%Y%m%d).log
- #把日志文件sendsadmin.access.log改名為sendsadmin.access.(當(dāng)天日期).log
- sudo kill -USR1 `cat /usr/local/web/nginx636/logs/nginx.pid`
- #nginx重建日志文件
- find /var/log/nginx/ -name "sendsadmin.access.*" -type f -ctime +30 -exec rm {} \; > /dev/null 2>&1
- #find -- 查找
- #/var/log/nginx/ -- 查找日志目錄
- #-name "sendsadmin.access.*" -type f -- 找以"sendsadmin.access."開頭的文件
- #-ctime +30 -- 查找距離當(dāng)日30天前文件
- #-exec rm {} \; -- 找到后執(zhí)行rm命令
- #> /dev/null 2>&1 -- 輸出重定向
保存腳本到本地并把腳本加入crontab每天23:59運(yùn)行
- sudo vi /etc/crontab
- 加入以下:
- 59 23 * * * root /bin/bash /usr/local/web/nginx636/conf/cutlogs.sh
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。