定时执行脚本

来源:互联网 发布:软件接口设计说明书 编辑:程序博客网 时间:2024/05/29 18:20

定时执行脚本


方法1:

使用命令 crontab -e 然后直接编辑定时脚本。

这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。

定时执行脚本三要素:

(1)设置可执行权限 chmod +x filename
(2)编写脚本,脚本的开头cd到执行的目录下

代码如下:

#! /bin/shlocalDir="(执行路径)"cd $localDir      //进入执行路径successLog=sendsuccessdataprocessfailLog=processfaildatasendfailLog=sendfaildatadate1dayAgo=`date -d -12hour +%Y%m%d%H`for i in 文件名前缀+*do    rm ${localDir}/$i/${successLog}.*.${date1dayAgo}*    rm ${localDir}/$i/${processfailLog}.*.${date1dayAgo}*    rm ${localDir}/$i/${sendfailLog}.*.${date1dayAgo}*    echo $i/${successLog}.*.${date1dayAgo}* >>${localDir}/rm.log    echo $i/${processfailLog}.*.${date1dayAgo}* >>${localDir}/rm.log    echo $i/${sendfailLog}.*.${date1dayAgo}* >>${localDir}/rm.logdone
(3)增加定时任务 crontab -e ——>编辑
crontab的范例格式:例如:5 5 * * * /opt/app/rmLog.sh  >/dev/null 2>&1每天的5点5分执行/opt/app/rmLog.sh脚本,/dev/null 2>&1 2>&1 意思是将错误输出重定向到句柄1标准输出最后,把所有的输出(1,2)都回收(/dev/null).

下面是crontab的格式:
分< >时< >日< >月< >星期< >要运行的命令
其中< >表示空格。
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令

方法2:

使用命令 vi /etc/crontab 编辑定时脚本。

注:

(系统级的)做系统级配置我们会直接配置 /etc/crontab
(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。

1 0