crontab定时执行脚本——按照你期望的方式

如何每分钟执行一个命令?
如何让脚本只在工作日执行?
如何让脚本只在上班时间执行?
元旦当天的8点执行任务怎么做?

```* * * * * /var/shell/test.sh```  // 这个五个星代表什么意思?
```10 * * * * /var/shell/test.sh``` // 这是代表每天的xx点10分执行脚本还是每10分钟执行一次?
```10 2,3,5,12 * * * /var/shell/test.sh``` // 这逗号又是什么意思?
```10 8-17 * * 1-5 /var/shell/test.sh``` // 代表工作日8-17点,每10分钟执行一次脚本吗?
```*/5 */2 * * * /var/shell/test.sh``` // 这么写对不对?

本文用于解决如上问题,记住以上表达式的含义。并简单说明crontab命令。

注释及参数说明 (划重点了!)

上面代码返回的注释标识了命令格式及参数说明。

crontab命令格式如下:

* * * * * user-name command to be executed

  • 5个 * 字段自左到右代表的意思及取值范围:
    分钟(0-60)、小时(0-23)、天(1-31)、月(1-12)、星期(0-6);

命令参数的特殊符号

(*) :代表所有可能的值

(,) :用逗号隔开的值指定对应字段的列表范围,例如:“1,3,5”在月份中则限制执行命令在1 3 5 月执行;

(-) :表示一个整数范围,例如“2-6”表示“2,3,4,5,6”;

(/) :指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时 / 可以和 * 一起使用,例如 */10,如果用在minute字段,表示每十分钟执行一次。

解答

如何每分钟执行一个命令?

  • 代表所有可能值,第一个参数标识分钟,这里填 * 即可:
* * * * *  //代表每一分钟都执行一次;
* 1 * * * //代表1点时每分钟执行一次;
* * 1 * * //代表每月1日每分钟执行一次;
* * * 1 * //代表每年1月每分钟执行一次;

如何让脚本只在工作日执行?
工作日为周一至周五,把第5个字段参数写为1-5即可:

* * * * 1-5 //代表每周一至周五执行脚本(每分钟执行一次)

如何让脚本只在上班时间执行?
上班时间为周一至周五,8点-17点:

* 8-17 * * 1-5 //代表每周一到周五的8点到17点执行脚本(每分钟执行一次)

元旦当天的8点执行任务怎么做?
1月的第一天执行脚本:

* * 1 1 * //代表每年1月1日执行脚本每分钟执行一次;
```* * * * * /var/shell/test.sh```  // 每分钟执行一次脚本
```10 * * * * /var/shell/test.sh``` // *点10分的时候执行脚本一次
```10 2,3,5,12 * * * /var/shell/test.sh``` // 2:10 3:10 5:10 12:10 分别执行一次脚本
```10 8-17 * * 1-5 /var/shell/test.sh``` // 代表周1-周5的8-17点,每个整点的第10分执行一次脚本
```*/5 */2 * * * /var/shell/test.sh``` // 每两个小时执行一次,执行规则为这个小时每五分钟执行一次

附录(说明一些基本操作等)

linux系统用于执行计划任务的命令,命令行输入如下命令,

cat /etc/crontab

输出如下结果:


[root@localhost cron]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

说明

配置

前四行是用来配置crond任务运行的环境变量:

  • SHELL : 指定系统使用哪个shell,这里是bash;

  • PATH : 指定系统执行命令的路径

  • MAILTO :指定crond的任务执行信息将通过电子邮件发送给root用户(如果MAILTO为空,则表示不发送任务执行信息给用户)

  • HOME变量指定在执行命令或者脚本时使用的主目录。

crond 服务

安装

yum install crontabs

操作说明:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

查看服务状态:

service crond status

手动启动:

service crond start

查看服务自启动情况

ntsysv

  • [*]表示已自启动。
开机自动启动命令:

chkconfig –level 35 crond on

crontab 用法


usage:  crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

(default operation is replace, per 1003.2)

-e  (edit user's crontab)

-l  (list user's crontab)

-r  (delete user's crontab)

-i  (prompt before deleting user's crontab)

-s  (selinux context)

例如我输入crontab -e后出现如下我自己的计划任务


*/5 * * * * /xxx1.sh // 每五分钟执行1次

0 3 * * * /xxx2.sh  // 每天3点执行1次

0 4 * * * /xxx3.sh // 每天4点执行1次

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357