nginx日志切割定时执行脚本
# vim /tmp/shell/nginx_logbak.sh
#防止nginx日志過大,用周期性執行計劃任務,執行日志切割腳本
#!/bin/bash
date=`date +%Y%m%d`
logpath1=/usr/local/nginx/logs/
logpath2=/opt/nginx_log_bak/
mv $logpath1/access.log $logpath2/access-$date.log
mv $logpath1/error.log $logpath2/error-$date.log
mv $logpath1/backaccess.log $logpath2/backaccess-$date.log
mv $logpath1/backerror.log $logpath2/backerror-$date.log
mv $logpath1/frontaccess.log $logpath2/frontaccess.log-$date.log
mv $logpath1/fronterror.log $logpath2/frontaccess.log-$date.log
mv $logpath1/indexaccess.log $logpath2/frontaccess-$date.log
mv $logpath1/indexerror.log $logpath2/indexerror-$date.log
kill -USR1 $(cat $logpath1/nginx.pid)
find /opt/nginx_log_bak/ -mitime +30 -type f -name \*.log | xargs rm -f
?
crontab周期性計劃任務
# crontab -e
00 01 * * 1 /tmp/shell/nginx_logbak.sh
?
# vim /etc/crontab
上面的意思可以寫成如下表格形式:? ? ? *表示通配符表示每天或者說任意一天的意思
如果想撤消這個任務該怎么做???這里有個選項是-r,直接輸入crontab -r:
編寫完這個計劃任務以后,還是要檢查一下這個任務是否在啟動,輸入ps -le | grep cron:
S表示確實是啟動的,如果沒有啟動可以輸入:/etc/rc.d/init.d/cron start即可。。。。
?
同樣crontab文件(也就是輸入crontab -e后出現要編輯一個文件)建立好后放在/var/spool/cron目錄里面
總結
以上是生活随笔為你收集整理的nginx日志切割定时执行脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第四篇:Mysql数据库的用户授权及撤销
- 下一篇: 自定义YUM软件仓库----FTP网络Y