远程执行教程

开始之前 需要确保你已经通过 安装配置 章节完成了Salt安装.

小贴士

有很多方法可以 从Salt社区获取帮助 包括我们的 `邮件列表<https://groups.google.com/forum/#!forum/salt-users>`_ 及我们的 IRC频道 #salt.

Order your minions around

现在你有了一个 master 与一个或多个 minion 连接, 你可以通过 :commond:`salt` 命令在minion上执行命令. Salt命令由三个主要部分构成:

salt '<target>' <function> [arguments]

参见

salt man页

target

target部分允许你指定哪些minion应该运行执行. 默认的规则是使用glob匹配minion id. 例如:

salt '*' test.ping
salt '*.example.org' test.ping

Targets可以使用Grains系统来通过minion的系统信息进行过滤:

salt -G 'os:Ubuntu' test.ping

参见

Grains系统

Targets也可以使用正则表达式:

salt -E 'virtmach[0-9]' test.ping

Targets也可以指定列表:

salt -L 'foo,bar,baz,quo' test.ping

或者在一个命令中混合使用多target类型:

salt -C 'G@os:Ubuntu and webser* or E@database.*' test.ping

function

funcation是module提供的功能. Salt内置了大量有效的functions. 列出minions上的所有有效functions?

salt '*' sys.doc

这里有一些例子:

显示当前所有有效的minions:

salt '*' test.ping

运行一个任意的shell命令:

salt '*' cmd.run 'uname -a'

参数

function通过空格来界定参数:

salt '*' cmd.exec_code python 'import sys; print sys.version'

可选的, 也支持keyword参数:

salt '*' pip.install salt timeout=5 upgrade=True

他们常常在 kwargs=argument form中.