【问题标题】:How to pass multiple arguments into salt cmd.run?如何将多个参数传递给 salt cmd.run?
【发布时间】:2017-01-24 10:12:50
【问题描述】:

我刚刚开始使用 Salt 而不是 Ansible。我不确定是从 master 调用以下脚本还是手动将命令输入到 salt 状态。对于后者,任何人都可以建议如何使用cmd.run 来实现这一点。

#!/bin/bash

. /lib/lsb/init-functions

cd /opt/concourse/bin/

./concourse worker \
  --name ci_worker01 \
  --bind-ip 0.0.0.0 \
  --bind-port 7777 \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-port 2222 \
  --tsa-public-key /opt/concourse/.ssh/id_web_rsa.pub \
  --tsa-worker-private-key /opt/concourse/.ssh/id_worker_rsa &>/var/log/concourse/concourse_worker.log &

【问题讨论】:

    标签: salt-stack concourse


    【解决方案1】:

    您可以将您的脚本保存到一个文件中并使用cmd.script state 调用它,如下所示:

    concourse_script:
      cmd.script:
        - name: salt://scripts/concourse.sh
    

    或者您可以使用相同的状态来调用命令并传递参数

    concourse_cmd:
      cmd.script:
        - name: ./concourse worker
        - cwd: /opt/concourse/bin/
        - args: "'--name ci_worker01' '--bind-ip 0.0.0.0' '--bind-port 7777' '--work-dir /opt/concourse/worker' '--tsa-host 127.0.0.1' '--tsa-port 2222' '--tsa-public-key /opt/concourse/.ssh/id_web_rsa.pub' '--tsa-public-key /opt/concourse/.ssh/id_web_rsa.pub'"
    

    请注意,要在 YAML 中传递包含空格的字符串,您需要双引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-02
      相关资源
      最近更新 更多