SaltStack命令

1.salt命令
salt -h
Usage: salt [options] ‘’ [arguments]
SaltStack命令

Options(选项):
–version : 查看saltstack软件的版本号。
–versions-report : 查看saltstack软件以及依赖包的版本号。
-h, --help : 查看帮助信息。
–saltfile=SALTFILE:指定saltfile的路径。 如果没有通过,将在当前工作目录中搜索一个。
-c CONFIG_DIR, --config-dir=CONFIG_DIR:指定配置文件的目录(默认是/etc/salt/)。
-t TIMEOUT, --timeout=TIMEOUT:指定超时时间默认是5秒。
–hard-crash:捕捉到original异常不退出默认关闭。
-s, --static:以组的形式返回所有minion的数据。
-p, --progress:显示进度图,需要progressbar的python包。
–failhard :在第一个执行错误返回之后停止批处理。
–async : 异步执行。
–subset=SUBSET : 对目标minions的随机子集执行程序. minions在执行前会先验证是否存在该命名的函数,再去执行
-v, --verbose : 打开命令详细,显示jid和活动的工作查询
–hide-timeout : 隐藏超时时间。
–show-jid : 显示任务的jid。
-b BATCH, --batch=BATCH, --batch-size=BATC : 按照百分比执行任务。
-a EAUTH, --auth=EAUTH, --eauth=EAUTH, --external-auth=EAUTH : 指定外部认证方式。
-T, --make-token : 生成master token.
–return=RETURNER : 设置一种替代方法。 默认情况下,salt将从命令将返回数据发送回主服务器,但返回数据可以重定向到任意数量的系统,数据库或应用程序。
–return_config=RETURNER_CONF : 指定命令返回的设置文件。
-d, --doc, --documentation : 查看指定模式或所有模块文档。
–args-separator=ARGS_SEPARATOR : 指定发送命令跟命令参数的分隔符,当用户想把一个命令当作参数发送给另一个命令执行时。
–summary : 显示汇总信息。
–username=USERNAME : 指定外部认证的用户名。
–password=PASSWORD : 指定外部认证的密码。
–metadata=METADATA : 将元数据传递给Salt,用于搜索作业。
Logging Options(日志相关参数):
-l LOG_LEVEL, --log-level=LOG_LEVEL : 指定日志级别。
–log-file=LOG_FILE : 指定日志记录文件
–log-file-level=LOG_LEVEL_LOGFILE : 日志文件日志记录级别。‘all’, ‘garbage’, ‘trace’, ‘debug’, ‘info’, ‘warning’, ‘error’,‘critical’, ‘quiet’. 默认: ‘warning’.
Target Options(目标选择选项):
-E, --pcre : 正则匹配
-L, --list: 列表匹配,目标表达式将被解释为以逗号分隔的列表。
-G, --grain: grains匹配。
–grain-pcre :grains加正则匹配。
-N, --nodegroup:组匹配。
-R, --range:范围匹配。
-C, --compound : 综合匹配(指定多个匹配,空格隔开)。
-I, --pillar : pillar值匹配。
-J, --pillar-pcre : pillar加正则匹配。
-S, --ipcidr : minions网段地址匹配。
Output Options(输出参数):
–out=OUTPUT, --output=OUTPUT : 使用指定的输出器从’salt’命令打印输出。 内置的是 ‘key’, ‘yaml’, ‘overstatestage’, ‘newline_values_only’, ‘pprint’, ‘txt’, ‘raw’, ‘virt_query’, ‘compact’, ‘json’, ‘highstate’, ‘nested’, ‘quiet’, ‘no_return’.
–out-indent=OUTPUT_INDENT, --output-indent=OUTPUT_INDENT : 在空格中打印由提供的值缩进的输出。 负值禁用缩进。 仅适用于支持缩进的输出器。
–out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE : 输出到指定文件。
–out-file-append, --output-file-append : 输出附加到指定的文件。
–no-color, --no-colour : 关闭所有的颜色显示。
–force-color, --force-colour : 强制输出颜色显示。

2.salt-key命令
salt-key -h
SaltStack命令
Actions:
-l ARG, --list=ARG:显示指定状态的key(支持正则表达式)
-L, --list-all :列出所有公钥。"–list all"已经弃用。
-a ACCEPT, --accept=ACCEPT: 接受指定的公钥(除了挂起的**之外,使用–include-all匹配拒绝的**),支持正则表达式。
-A, --accept-all :接收所有等待认证的key。
-r REJECT, --reject=REJECT :拒绝指定等待认证的key(支持正则表达式)
-R, --reject-all:拒绝所有等待认证的key。
–include-all: 显示所有状态的key。
-p PRINT, --print=PRINT :打印指定的公钥支持正则表达式。
-P, --print-all:打印所有的公钥。
-d DELETE, --delete=DELET:删除指定的key。
-D, --delete-all:删除所有的key。
-F, --finger-all:显示所有key的指纹信息。

3.客户端salt-call(就相当于要把远程执行的命令,换到客户端本地自己本地执行)
salt-call -h
Usage: salt-call [options] [arguments]
Options:
–version: 查看saltstack程序的版本号。
–versions-report: 查看saltstack程序以及依赖包的版本号。
-h, --help:查看帮助信息。
–saltfile=SALTFILE: 指定配置文件。
-c CONFIG_DIR, --config-dir=CONFIG_DIR:指定配置文件目录(默认是/etc/salt/)
–hard-crash: 捕捉到original异常不退出(默认关闭)。
-g, --grains: 返回的信息生成grains。
-m MODULE_DIRS, --module-dirs=MODULE_DIRS: 指定自定义模块目录。
-d, --doc, --documentation: 查看指定模块或者所有模块文档。
–master=MASTER: 指定saltstack master。如果省略此选项,将使用minion config中的主选项。如果设置了多主机,则首先列出的主机将被使用。
–return=RETURNER:设置salt-call将返回数据传递给一个或多个returner接口。
–local:在本地运行salt-call,默认也是在本地运行。
–file-root=FILE_ROOT:指定fire基础根目录。
–pillar-root=PILLAR_ROOT: 指定pillar基础根目录。
–retcode-passthrough:显示salt-call命令返回状态。
–metadata :打印执行元数据以及返回。 这将打印输出器数据,返回码等。
–id=ID:指定一个minion ID.
–skip-grains:不加载grains信息。
–refresh-grains-cache:强制刷新grains信息。
-t AUTH_TIMEOUT, --timeout=AUTH_TIMEOUT:更改运行命令的超时时间,默认 60秒。

4.还需要重点掌握的命令

test.ping和cmd.run 都是内置的用法,其实也就是python自带的模块功能,那么如何知道现在的salt可以使用哪些方法呢?

salt '’ -d|grep :’|more #就可以以列表的形式查看所有可以使用的内置方法。为什么要加grep?因为方法下面还有对应的举例。
salt ‘agent1.salt’ sys.list_functions #上面的方法还是比较粗糙,如果已经知道了用法,可以用sys.list_functions将所有可以使用的函数列出来,
当然就指定一个节点就可以了,指定’
'显示结果也是重复。
现在已经把所有的可以用的模块的函数都查出来了,如果只想看某个模块所拥有的函数方法呢?
salt ‘agent1.salt’ sys.list_functions test #如可以查看test模块有哪些函数方法可以用。

如果想查看某个模块,或者某个模块里面某个函数的用法呢?
salt ‘agent1.salt’ sys.doc test #查看test所有的方法及用法。
salt ‘agent1.salt’ sys.doc test.ping #test.ping具体用法查看。