【问题标题】:Copy files from salt master and execute on minion从 salt master 复制文件并在 minion 上执行
【发布时间】:2019-02-28 14:54:29
【问题描述】:

我想将一个目录从我的 Salt Master 复制到我的 Salt Minion。所有文件都是可执行文件。然后我想在我的 salt minion 上执行文件。 我想使用盐状态来实现这一点。

copy_scripts:
 file.recurse:
  - name: /root/scripts
  - source: salt://files/scripts
  - user: root
  - group: root
  - file_mode: 744

这会将文件放在我的 Salt minion 上。如何执行里面的所有脚本?

【问题讨论】:

    标签: salt-stack master


    【解决方案1】:

    您可以使用 cmd.script 执行此操作。 cmd.script 会将文件(脚本?)复制到 minion 并以单一状态运行。

    https://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html#salt.states.cmd.script

    您需要为每个要运行的脚本设置一个状态。

    奖励积分:您可以使用 Jinja 循环遍历列表以自动生成状态https://docs.saltstack.com/en/latest/topics/tutorials/states_pt3.html

    【讨论】:

    • 我有一个目录,其中存储了需要执行的文件。如何使用 cmd.scripts 运行所有这些文件,我不想硬编码文件名。
    【解决方案2】:

    将目录复制到想要的路径后,就可以使用cmd.run来执行这些脚本了。

    【讨论】:

    • 感谢您的回复。但我不想在 for 循环中硬编码文件的名称来执行文件
    • 然后你可以通过 jinja 使用docs.saltstack.com/en/latest/ref/modules/all/… 列出这些脚本,然后执行这些脚本的列表,在这种情况下没有硬编码数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多