crontab存放路径

  • vi /var/spool/cron/
#查看任务列表
crontab -l

#查看服务
systemctl status crond
#重新服务
systemctl restart crond

crontab文件详解

https://baike.baidu.com/item/crontab/8819388?fr=aladdin

#命令格式
minute hour day month week command
  • minute: 表示分钟,可以是从0到59之间的任何整数。
    hour:表示小时,可以是从0到23之间的任何整数。
    day:表示日期,可以是从1到31之间的任何整数。
    month:表示月份,可以是从1到12之间的任何整数。或者 jan,feb,mar,apr …
    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。或者 sun,mon,tue,wed,thu,fri,sat
    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
  • 在以上各个字段中,还可以使用以下特殊字符
    星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
    逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。
    同时正斜线可以和星号一起使用,例如
    /10,如果用在minute字段,表示每十分钟执行一次。

实例代码

每分钟执行一次command
* * * * * command
每小时第 0 分钟执行一次
0 * * * * cmd


每小时的第3和第20分钟执行一次command
3,20 * * * * command

在凌晨3点到晚上20点的每小时第20分钟执行一次command
20 3-20 * * * command

每隔两天的凌晨3点到晚上20点每小时的第20分钟执行一次command
20 3-20 */2 * * command

每周一的凌晨3点到晚上20点每小时的第20分钟执行一次command
20 3-20 * * 1 command

周一到周五下午17点执行
0 17 * * 1-5 cmd

实例定时同步时间

crontab -e
0 1 * * 1 ntpdate 10.3.60.40  #周一凌晨1点同步一次时间

* * * * * ntpdate 10.3.60.40   #每分钟执行一交
* */1 * * * ntpdate time.nist.gov  #一小时同时一次
0 1 * * 6 ntpdate time.nist.gov  #每周六凌晨1点同步一次