您的位置:首页 > 其它

在SaltStack中使用Schedule(计划任务)

2014-06-05 18:30 260 查看
SaltStack可以很容易的实现批量计划任务的创建啊和管理

官方文档: http://docs.saltstack.com/en/latest/topics/jobs/index.html

按照官方文档的描述,计划任务有3种配置方式,分别是:

在master配置文件中配置

在minion配置文件中配置

在pillar中配置

其中在配置文件中配置的方式,尤其是在minion端配置文件的方式估计大部分人都不太会用得到,所以这篇文章的目标主要集中在以pillar形式配置上

我的pillar文件夹是 /srv/pillar

首先创建一个 /srv/pillar/top.sls

base:

"*"

- schedule

然后创建 /srv/pillar/schedule.sls

schedule:

test-job:

function: cmd.run

seconds: 10

args:

- 'date >> /date.log'

这个调度任务的意思是 每隔10秒在 根目录的date.log文件中记录一条时间

创建完文件之后执行下面的命令把pillar的修改刷到minion端去

salt "*" saltutil.refresh_pillar

这样就完成了一个简单的计划任务创建,方便快捷!

想查看minion端都有哪些计划任务可以用

salt "*" pillar.get schedule

或者

salt "*" config.option schedule

PS: 官方文档有一个错,坑了我好几个小时

http://docs.saltstack.com/en/latest/topics/jobs/index.html#states 里面有一个

schedule:

log-loadavg:

function: cmd.run

seconds: 3660

args:

- 'logger -t salt < /proc/loadavg'

kwargs:

stateful: False

shell: True ‍‍‍‍‍‍ # 这里应该写shell的名字,比如"/bin/sh", 写bool值会导致执行失败‍‍‍‍‍‍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: