您的位置:首页 > 运维架构 > Linux

Linux添加crontab定时任务

2015-04-30 14:33 204 查看
之前在百度实习的时候搞过一回crontab,不过也是边查边用,过后就忘了,今天帮实验室搞一个流量监控系统,再次遇到crontab,决定这次做下笔记,防止下次再用到时忘掉。
首先,crontab分为两类:系统crontab,用户crontab。
按照我的理解,系统crontab可以使不同的用户crontab任务都放到/etc/crontab文件中指定。而用户crontab仅允许当前用户调用crontab -e命令来编辑自己的任务。
下面讲解crontab具体使用以及语法。

crontab -e添加的命令必须如下面的格式:

* * * * * command

其中前五个字段的含义依次是:

分钟:0-59

小时:0-23

日期:1-31

月份:1-12

星期:0-6(0代表周日)

不过可以采用一些类似正则表达式里的特殊符号来表示:“*”表示任意,“,”表示分隔,“-”表示时间段,如1-5,“/n”表示每隔n个单位执行一次,如*/3及表示每3个小时执行一次。

如下面的一些例子:

3 8-23/3 * * * 代表8:03、11:03、14:03、17:03、20:03、23:03各执行一次命令

其实crontab主要内容就是这么简单,一般的任务都可以用这些知识来搞定

这里补充一个,因为crontab运行任务并不知道任务执行成功不成功,因此最好对执行的任务加上log,如下面的命令:
10 0 * * * cd /home/myjfm/output/ && /bin/bash crntb_start.sh >> /home/myjfm/output/crontab.log 2>&1

代表将crontab执行任务的日志输出到/home/myjfm/output/crontab.log文件中,这样,如果crontab执行不成功,则可以通过查看crontab.log文件来排错,非常实用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: