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
 

nginx日志切割定时执行脚本_第1张图片

crontab周期性计划任务

# crontab -e

00 01 * * 1 /tmp/shell/nginx_logbak.sh

nginx日志切割定时执行脚本_第2张图片

 

# vim /etc/crontab

nginx日志切割定时执行脚本_第3张图片

上面的意思可以写成如下表格形式:      *表示通配符表示每天或者说任意一天的意思

如果想撤消这个任务该怎么做???这里有个选项是-r,直接输入crontab -r:

编写完这个计划任务以后,还是要检查一下这个任务是否在启动,输入ps -le | grep cron:

S表示确实是启动的,如果没有启动可以输入:/etc/rc.d/init.d/cron start即可。。。。

 

同样crontab文件(也就是输入crontab -e后出现要编辑一个文件)建立好后放在/var/spool/cron目录里面

你可能感兴趣的:(#,Shell,Linux运维工程师)