# 重复运行

SSCMS 命令行可以设置 -r 或者 --repeat 参数设置重复运行时间,设置后命令将按照固定频率重复运行。

# 简单参数

如果需要以特定间隔重复执行作业,简单参数就可以满足调度需求,例如我们希望每五分钟一键生成网站页面,可以使用以下命令:

sscms build -d sitedir -r 5

在此,我们设置 -r 参数为每 5 分钟执行一次,我们也可以设置每天执行一次:

sscms build -d sitedir -r 1d

简单参数设置:

参数结尾 说明 示例
y 每年执行一次:-r 1y
m 每月执行一次:-r 1m
d 每天执行一次:-r 1d
h 每两小时执行一次:-r 2h
每 30 分钟执行一次:-r 30

# Cron 参数

如果需要指定复杂的任务计划而不是按照简单参数精确指定的时间间隔重复执行命令计划,那么可以使用 Cron 参数。

使用 Cron 参数,我们可以指定诸如“每周五中午”,或“每个工作日和上午 9:30”,甚至“每周一、三、五上午 9:00 到 10:00 之间每 5 分钟一次”的之类的执行时间表。

我们同样使用 -r 或者 --repeat 参数,并传递 Cron 表达式,Cron 表达式是由 6 或 7 个以空格分隔的字段组成的字符串,字段可以包含任何允许的值,以及该字段允许的特殊字符的各种组合。各字段如下:

字段名称 是否必填 允许的值 允许的特殊字符
必填 0-59 , - * /
必填 0-59 , - * /
小时 必填 0-23 , - * /
月中的天 必填 1-31 , - * ? / L W
必填 1-12 或者 JAN-DEC , - * /
周中的天 必填 1-7 或者 SUN-SAT , - * ? / L #
非必填 1970-2099 , - * /

下面是一些Corn表达式及其含义的例子:

# 示例一:

每五分钟执行一次生成任务:

sscms build -d sitedir -r "0 0/5 * * * ?"

# 示例二:

每5分钟执行一次生成任务,每分钟10秒执行(即上午10:00:10、上午10:05:10等)。

sscms build -d sitedir -r "10 0/5 * * * ?"

# 示例三:

每周三和周五的10:30、11:30、12:30和13:30执行一次生成任务。

sscms build -d sitedir -r "0 30 10-13 ? * WED,FRI"

# 示例四:

每个月的5日和20日上午8点到10点之间每半小时执行一次生成任务,请注意,命令不会在上午10点执行,只会在8:00,8:30,9:00和9:30执行:

sscms build -d sitedir -r "0 0/30 8-9 5,20 * ?"
上次更新: 2023/9/14 上午11:44:57