Saltstack之Scheduler

1、引言:html

  在平常的運維工做中常常會遇到須要定時定點啓動任務,首先會考慮到crontab,可是經過crontab的話須要每臺機器下進行設置,這樣統一管理的話比較複雜;經過查百度和google發現saltstack有scheduler的功能。運維

2、Pillar Scheduler:google

  Salt自己提供多方面的Scheduler的配置,分別有3種配置方式:spa

  一、從Master配置端;code

  二、Master Pillar端;htm

  三、Minion配置端或者Minion.d下配置文件下配置blog

  在這裏介紹的是pillar的方式;官方文檔:https://docs.saltstack.com/en/latest/topics/jobs/index.htmlcrontab

  首先建立一個/srv/salt/pillar/top.sls文檔

[root@test pillar]# cat /srv/salt/pillar/top.sls
base:
  "*":
    - schedule

  而後建立/srv/salt/pillar/schedule.slsget

[root@test tmp]# cat /srv/salt/pillar/schedule.sls
schedule:
  testcase:
    function: cmd.run
    seconds: 10
    args:
      - 'date >> /tmp/test.cmd.log'
    kwargs:
      stateful: False

備註:這個調度任務的意思是:每隔10秒在/tmp目錄下的test.cmd.log文件中記錄一條時間。

  建立完文件以後執行下面的命令把pillar的修改刷到minion端。

salt "*" saltutil.refresh_pillar

  想查看minion端都有哪些計劃任務能夠用:

[root@test pillar]# salt "*" pillar.get schedule
192.168.1.88:
    ----------
    __mine_interval:
        ----------
        function:
            mine.update
        jid_include:
            True
        maxrunning:
            2
        minutes:
            60
        name:
            __mine_interval
    testcase:
        ----------
        args:
            - date >> /tmp/test.cmd.log
        function:
            cmd.run
        jid_include:
            True
        kwargs:
            ----------
            stateful:
                False
        maxrunning:
            1
        name:
            testcase
        seconds:
            10

或者:

[root@test pillar]# salt "*" config.option schedule
192.168.1.88:
    ----------
    __mine_interval:
        ----------
        function:
            mine.update
        jid_include:
            True
        maxrunning:
            2
        minutes:
            60
        name:
            __mine_interval

  config.option的方式只能出mine.update的。

3、運行結果:

[root@test pillar]# tail -f /tmp/test.cmd.log 
Tue Mar 21 14:26:58 CST 2017
Tue Mar 21 14:27:08 CST 2017
Tue Mar 21 14:27:18 CST 2017
Tue Mar 21 14:27:28 CST 2017
Tue Mar 21 14:27:38 CST 2017
Tue Mar 21 14:27:48 CST 2017
Tue Mar 21 14:27:58 CST 2017
Tue Mar 21 14:28:08 CST 2017
Tue Mar 21 14:28:18 CST 2017
Tue Mar 21 14:28:28 CST 2017
相關文章
相關標籤/搜索