定时运维
概览
ZStack Cloud提供两种定时运维服务:定时任务和定时器。定时器和定时任务完全解耦,用户可按需创建不同规则的定时器、以及不同的定时任务,并将定时任务灵活加载到定时器或从定时器上卸载。
定时运维相关定义
- 定时任务:一种预设任务,在指定时间执行指定行为。与定时器配合使用。
- 加载到定时器上的任务条目。
- 支持选择性停用/启用/加载/卸载,可灵活处理生产环境中的特殊情况。
- 删除定时器后,该定时器上的定时任务将被卸载,定时任务可重新加载到其它定时器上。
- 定时任务的操作支持完整计入审计服务中。
- 定时器:承载定时任务的容器,尤其适用于长时间运行的操作。
- 承载定时任务的容器。
- 非常适用于长时间运行的操作,例如,为某个云主机定时创建快照。
- 删除定时器后,该定时器上的定时任务将被卸载,定时任务可重新加载到其它定时器上。
- 定时器的操作支持完整计入审计服务中。
注意事项
在生产环境中,建议单块磁盘的快照数量尽量控制在5以内,快照过多会影响云主机/云盘的IO性能、数据安全以及主存储容量,不建议进行高频的定时快照备份。如需长期备份,请选择灾备相关功能。
清单
操作(Operations)
创建定时任务(CreateSchedulerJob)
管理员可以使用CreateSchedulerJob创建定时任务。例如:
CreateSchedulerJob name=SchedulerJob1 targetResourceUuid=d672c98c9ea5416a83d15696f324368c type=startVm参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 资源名称 | 2.1 | ||
| description | 资源的详细描述 | 是 | 2.1 | |
| targetResourceUuid | 目标资源UUID | 2.1 | ||
| type | 定时任务类型 |
|
4.3.0 | |
| parameters | 是 | 2.1 | ||
| resourceUuid | 是 | 2.1 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag);资源类型是 SchedulerJobVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag); 资源类型是 SchedulerJobVO | 是 | 2.1 | |
| timeout | 是 |
Note:
parameters 参数的可选值由type决定。关系如下:
| type参数 | parameters可选参数 |
|---|---|
| startVm | |
| stopVm | |
| rebootVm | |
| volumeSnapshot | snapshotMaxNumber |
| volumeBackup |
|
|
vmBackup (targetResourceUuid 填 rootVolumeUuid) |
|
| databaseBackup |
|
删除定时任务(DeleteSchedulerJob)
管理员可以使用DeleteSchedulerJob删除定时任务。例如:
DeleteSchedulerJob uuid=94b1126b2cc44b5ea0e1d31026e24c9f参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源uuid | 2.1 | ||
| deleteMode | 请参见 删除资源(Delete Resources) | 是 |
|
2.1 |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag);资源类型是 SchedulerJobVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) ;资源类型是 SchedulerJobVO | 是 | 2.1 | |
| timeout | 是 |
查询定时任务(QuerySchedulerJob)
管理员可以使用QuerySchedulerJob查询定时任务。例如:
QuerySchedulerJob uuid=04f512aa6cc3495bab23e677da4c9510QuerySchedulerJob trigger.uuid=d82d4ca2d4da407ebc5410e85d5dd256原生域查询(Primitive Fields of Query)
请参见scheduler job inventory
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| trigger | trigger inventory | 2.1 |
更新定时任务(UpdateSchedulerJob)
管理员可以使用UpdateSchedulerJob更新定时任务。例如:
UpdateSchedulerJob uuid=4ad3c66621924055a3db06917ed0d902参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源uuid | 2.1 | ||
| name | 资源名称 | 是 | 2.1 | |
| description | 资源的详细描述 | 是 | 2.1 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag);资源类型是 SchedulerJobVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag); 资源类型是 SchedulerJobVO | 是 | 2.1 | |
| timeout | 是 |
创建定时器(CreateSchedulerTrigger)
管理员可以使用CreateSchedulerTrigger创建定时器。例如:
CreateSchedulerTrigger name=trigger schedulerType=simple startTime=1510329600 \
schedulerInterval=3600参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 资源名称 | 2.1 | ||
| description | 资源的详细描述 | 是 | 2.1 | |
| schedulerInterval | 是 | 2.1 | ||
| repeatCount | 是 | 2.1 | ||
| startTime | 应为Unix Time | 是 | 2.1 | |
| schedulerType |
|
2.1 | ||
| cron | 是 | 2.1 | ||
| resourceUuid | 是 | 2.1 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag);资源类型是 SchedulerTriggerVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag); 资源类型是 SchedulerTriggerVO | 是 | 2.1 | |
| timeout | 是 |
删除定时器(DeleleSchedulerTrigger)
管理员可以使用DeleleSchedulerTrigger删除定时器。例如:
DeleteSchedulerTrigger uuid=36cb56cbc7b946dbb4294dcf726db975参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源uuid | 2.1 | ||
| deleteMode | 请参见 删除资源(Delete Resources) | 是 |
|
2.1 |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag);资源类型是 SchedulerTriggerVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) ;资源类型是 SchedulerTriggerVO | 是 | 2.1 | |
| timeout | 是 |
查询定时器(QuerySchedulerTrigger)
管理员可以使用QuerySchedulerTrigger查询定时器。例如:
QuerySchedulerTrigger uuid=8a87a66ea1344ba2b918f49136505dbbQuerySchedulerTrigger job.uuid=fd347b4c3f144380bca9c0c5cdf7697d原生域查询(Primitive Fields of Query)
请参见scheduler trigger inventory
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| job | job inventory | 2.1 |
更新定时器(UpdateSchedulerTrigger)
管理员可以使用UpdateSchedulerTrigger更新定时器。例如:
UpdateSchedulerTrigger uuid=26a64811252b446ab97bd1559c27a630参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源uuid | 2.1 | ||
| name | 资源名称 | 是 | 2.1 | |
| description | 资源的详细描述 | 是 | 2.1 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag);资源类型是 SchedulerTriggerVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag); 资源类型是 SchedulerTriggerVO | 是 | 2.1 | |
| timeout | 是 |
添加定时任务到定时器(AddSchedulerJobToSchedulerTrigger)
管理员可以使用AddSchedulerJobToSchedulerTrigger添加定时任务到定时器。例如:
AddSchedulerJobToSchedulerTrigger schedulerJobUuid=de40b48a63c04ec283f75dfed817b628 \
schedulerTriggerUuid=3a5de588a82f4f7d96658e87baa3ef6f参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| schedulerJobUuid | 2.1 | |||
| schedulerTriggerUuid | 2.1 | |||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.1 | |
| timeout | 是 |
移除定时任务(RemoveSchedulerJobFromSchedulerTrigger)
管理员可以使用RemoveSchedulerJobFromSchedulerTrigger从定时器移除定时任务。例如:
RemoveSchedulerJobFromSchedulerTrigger schedulerJobUuid=de40b48a63c04ec283f75dfed817b628 \
schedulerTriggerUuid=3a5de588a82f4f7d96658e87baa3ef6f参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| schedulerJobUuid | 2.1 | |||
| schedulerTriggerUuid | 2.1 | |||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.1 | |
| timeout | 是 |
改变定时任务状态(ChangeSchedulerState)
管理员可以使用ChangeSchedulerState改变定时任务状态。例如:
ChangeSchedulerState uuid=d8601cf2081c4715a33e2d994e2f16d8 stateEvent=disable参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 2.1 | |||
| stateEvent |
|
2.1 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag),资源类型是SchedulerTriggerVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag),资源类型是SchedulerTriggerVO | 是 | 2.1 | |
| timeout | 是 |
获取未挂载定时器的任务(GetNoTriggerSchedulerJobs)
管理员可以使用GetNoTriggerSchedulerJobs获取未挂载定时器的任务。例如:
ChangeSchedulerState uuid=d8601cf2081c4715a33e2d994e2f16d8 stateEvent=disable参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 2.3.2 | |||
| description | 是 | 2.3.2 | ||
| accessPointUuid | 是 | 2.3.2 | ||
| dataCenterUuid | 2.3.2 | |||
| vRouterUuid | 2.3.2 | |||
| resourceUuid | 是 | 2.3.2 | ||
| routerType |
|
2.3.2 | ||
| spec | 是 | 2.3.2 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag),资源类型是SchedulerTriggerVO | 是 | 2.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag),资源类型是SchedulerTriggerVO | 是 | 2.1 | |
| timeout | 是 |
标签(Tags)
用户可以使用CreateUserTag resourceType=SchedulerJobVO在定时器上创建用户标签。
例如:
CreateUserTag resourceType=SchedulerJobVO tag=Test1 \
resourceUuid=3214e0dcd01d4e2aa8407968e1ccreatee51d58