在SaltStack中使用Schedule(计划任务)
在SaltStack中使用Schedule(计划任务)
憨厚的瓜 发表于4年前
在SaltStack中使用Schedule(计划任务)
  • 发表于 4年前
  • 阅读 3095
  • 收藏 2
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: SaltStack可以很容易的实现批量计划任务的创建啊和管理

SaltStack可以很容易的实现批量计划任务的创建啊和管理

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

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

  1. 在master配置文件中配置

  2. 在minion配置文件中配置

  3. 在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值会导致执行失败


标签: SaltStack Schedule
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 5
博文 7
码字总数 3115
作品 1
×
憨厚的瓜
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: