天天看点

ubuntu crontab 定时任务

Cron是一个[守护程序]用于在指定的时间内执行行程类的任务,每一个用户都有一个 crontab 文件,来允许他们指定需要执行的内容和时间,此外,系统也有一个 crontab ,用来允许像交替日志和更新本地数据这样有规则的任务。

1、crontab文件位置:/etc/crontab

2、使用cron定时执行一个sh脚本,eg:

*/3 * * * * root /usr/local/test.sh

#以上命令表示 第隔3分钟执行test.sh脚本
           

3、在crontab 项目里的第一个部分描述了执行任务的时间。它用空格分开成五个区域,每个只能用数字、“*”、或适当的字。这个区域依次说明 “分”,“时”,“每月几日”、“月”、“每周星期几”,月和星期可以用缩写,如 “jan"代替“January" 、"thu" 代替"Thursday",

/etc/crontab 文件中的每一行都代表一项任务,它的格式是:

minute hour day month dayofweek command

注:

minute     //分钟,从 0 到 59 之间的任何整数

hour       //小时,从 0 到 23 之间的任何整数

day        //日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

month      //月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

dayofweek  //星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

command    //要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)

在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。

整数间的短线(-)指定一个整数范围。譬如,1-4意味着整数 1、2、3、4。

用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8标明这四个指定的整数。

正斜线(/)可以用来指定间隔频率,

eg:

5 14 * * *        //每天14:05执行一次,cron时间以24小时制计算
*/5 * * * *       //每5分钟执行一次
0 6-12/3 * 12 *   //每年12月份每天的早上6点到12点中,每隔3个小时执行一次
           

4、crontab修改后需重启:sudo service cron restart