crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
cron表达式
cron表达式用于设置命令执行的周期规则,其格式为
minute hour day month week
这个表达式之于调度任务用途也很广泛,比如org.springframework.scheduling.quartz.CronTriggerBean也有cron表达式,但是语法略微有所不同
其中:
● minute:表示分钟,可以是从0到59之间的任何整数。
● hour:表示小时,可以是从0到23之间的任何整数。
● day:表示日期,可以是从1到31之间的任何整数。
● month:表示月份,可以是从1到12之间的任何整数。
● week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
crontab文件
调度任务执行依据是crontab文件,每一行代表一个任务,可以使用#进行注释,风格如下
cron表达式1 command1
cron表达式2 command2
cron表达式3 command3
例子
# 每个整点执行command1
0 * * * * command1
# 每天的23点执行command2
0 23 * * * command2
# 每周的周一到周五的17点整,执行命令command3
0 17 * * 1-5 command3
# 每个月1号0点执行command4
0 0 1 * * command4
# 每个月最后一天command5
0 0 L * * command5
# 从下一个10的整数倍分钟开始,每隔10分钟执行一次 command6
*/10 * * * * command6
crontab命令
自带的help
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
Usage当中的crontab [options] file即指定某个文件作为crontab的任务列表并载入crontab。
Options当中
● -u命令是用于指定某个用户,如果不加的话就是当前用户
● -e是编辑crontab文件的内容
● -l是显示crontab文件的内容
● -r是删除