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目录里面