#yasboot job

# job config gen

本命令用于根据输入的各选项生成job配置文件。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称 (必传参数)
-u,--user 集群的用户名
-p,--password 集群的用户名对应的密码
--sql SQL命令(与--sql-file互斥)
--sql-file SQL文件(与--sql互斥)
-ce,--cron-expression cron表达式,用于设置时间,由五个字段组成,分别表示分、小时、日期、月份、星期(“* * * * *” )
-f,--frequency job频率
* monthly:每月
* weekly:每周,默认值
* daily:每天
* hourly:每小时
-d,--days job具体的执行天数,表示每月或每周的第几天,可以填写多天,仅频率--frequency为monthly、weekly时,该参数有效
* 当频率为monthly,取值范围为[1,31]
* 当频率为weekly,取值范围为[1,7],1表示星期一,7表示星期日,以此类推
-st, --start-time job的具体开始时间
*当频率为monthly、weekly和daily时,格式为xx:xx,表示小时和分钟,默认为00:00
*当频率为hourly,格式为xx,表示分钟,默认为0
--config-path 生成的配置文件保存路径,默认为当前路径
# 通过参数`--cron-expression`设置时间并生成job配置文件
$ ./bin/yasboot job config gen -c yashandb --job-name test -u username -p password --sql "select * from v$instance;" --cron-expression "10 12 ? 1,5,6,0 *" 

# 通过参数`--frquency、--days、--start-time`设置时间并生成job配置文件
$ ./bin/yasboot job config gen -c yashandb --job-name test -u username -p password --sql "select * from v$instance;"   -f weekly -d 1,5-7  -st 12:10

# job add

本命令用于将job添加并保存到YASOM中。

选项 含义
-t, --toml job配置文件(必传参数)

示例

$ ./bin/yasboot job add -t job_yashandb_test.toml 

# job list

本命令用于展示所有通过YASOM添加的job集。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
-n,--node-id 节点ID
-d,--detail 展示详细信息
--size 查询的每页数据量,默认为10
-p,--page 需要查询的页码
-S,--sort 以哪一个字段来排序,默认为create_at
--order 以哪种方式来排序,可选为asc或desc,默认为desc
--search 按name字段搜索,格式为name=searchValue
支持搜索字段有:job_id、job_name和cron_expression

示例

$ yasboot job list -c yashandb -d

# job apply

本命令用于将job应用到数据库节点。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称(必传参数)
-n,--node-id yasdb的nodeid(必传参数)

示例

$ ./bin/yasboot job apply --job-name test -n 1-1 -c yashandb

# job update

本命令用于更新已添加的job。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称(必传参数)
-t, --toml job配置文件(必传参数)

示例

$ ./bin/yasboot job update -t job_yashandb_test.toml --job-name test

# job cancel

本命令用于取消应用job策略到数据库。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称(必传参数)
-n,--node-id yasdb的nodeid(必传参数)

示例

$ ./bin/yasboot job cancel --job-name test -c yashandb -n 1-1

# job delete

本命令用于删除job策略。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称(必传参数)
-f,--force 强制删除

示例

$ ./bin/yasboot job delete --job-name test -c yashandb -f

# job execute

本命令用于单独执行job策略(不走定时任务)。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称(必传参数)
-n,--node-id yasdb的nodeid

示例

$ ./bin/yasboot job execute --job-name test -c yashandb -n 1-1

# job show

展示job执行的时间、是否成功以及失败的原因。

选项 含义
-c, --cluster YashanDB的集群名(必传参数)
--job-name job名称(必传参数)
-n,--node-id yasdb的nodeid(必传参数)
-d,--detail 展示详细信息
--size 查询的每页数据量,默认为10
-p,--page 需要查询的页码
--filter 根据status列的结果过滤,有successrunningfailed3种状态

示例

$ ./bin/yasboot job show -c yashandb -n 1-1 --job-name test
id | job_id                           | job_name | node_id | status  | start_time          | completion_time     | hostid   | failed_reason                                                           
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2  | 65a8a0d8954d05c0fef16ef3021bf34a | test     | 1-1     | failed  | 2024-01-18 11:58:28 | 2024-01-18 11:58:28 | host0001 | node 1-1 exec job sql failed, stdout:
[1:1]YAS-04231 keyword expected  
----+---------------------------------+----------+---------+---------+---------------------+---------------------+----------+-------------------------------------------------------------------------
1  | 65a8a0d8954d05c0fef16ef3021bf34a | test     | 1-1     | success | 2024-01-18 11:55:00 | 2024-01-18 11:55:00 | host0001 | -                                                                       
----+---------------------------------+----------+---------+---------+---------------------+---------------------+----------+-------------------------------------------------------------------------