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
需要两个表达式实现
原文链接:https://rumenz.com/rumenbiji/linux-crontab-skills.html
微信公众号:入门小站