来自公众号:入门小站
crontab命令主要用于设置命令行或者脚本周期性的执行。该命令从标准输入设备读取指令,并将其存放于文件中,以供之后读取和执行。本文主要讲述crontb命令的基本语法和配置方法。
crontab [-u user] -e -l -r
# 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
| | | | |
* * * * * command/script
一个定时任务的配置共包括6个字段,分别是分、时、日、月、周、命令行或脚本,每一列取值的范围或者含义如上述格式中注释描述。特别注意一点是命令行或者脚本一定要配置成绝对路径。
星号(*
):代表所有可能的值,例如在第1列表示每分钟执行,第2列表示每小时执行,第3列表示每天执行。
逗号(,
):可以用逗号隔开的值表示指定一个列表范围,例如,在第1列设置15,30,45表示在第15分钟、30分钟、45分钟执行。
中杠(-
):可以用整数之间的中杠表示一个整数范围,例如"2-6"表示2,3,4,5,6
正斜线(/
):可以用正斜线指定时间的间隔频率,例如第2列设置成"*/2",表示每两小时执行一次。
rumenz.sh
脚本0 22 * * * /root/rumenz.sh
rumenz.sh
> 30 8 1,3,7 * * /root/rumenz.sh
rumenz.sh
> 0 2 * * 6,0 /root/rumenz.txt
rumenz.sh
0,30 18-23 * * /root/rumenz.sh//或者
*/30 18-23 * * /root/rumenz.sh
> 0 2 * * * /usr/bin/curl https://rumenz.com
rumenz.sh
* * * * * /root/rumenz.sh
* * * * * sleep 10;/root/rumenz.sh
* * * * * sleep 20;/root/rumenz.sh
* * * * * sleep 30;/root/rumenz.sh
* * * * * sleep 40;/root/rumenz.sh
* * * * * sleep 50;/root/rumenz.sh
rumenz.sh
0 0-21/3 * * * /root/rumenz.sh
30 0-22/3 * * * /root/rumenz.sh
需要两个表达式实现
rumenz.sh
*/3 * * * * /root/rumenz.sh
*/3 * * * * sleep 90;/root/rumenz.sh
需要两个表达式实现
---END---