linux salt 命令执行脚本,Saltstack系列2:Saltstack远程执行命令

命令

命令格式:

salt '' [参数]

例:

salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况

常用参数

针对,Saltstack提供了多种方法对被控主机(id)进行过滤。下面列举出常用具体参数:

-E,--pcre,通过正则表达式进行匹配:

salt -E '^SN2013.*' test.ping #探测SN2013开头的主机id名是否连通

-L,--list,以主机id名列表的形式进行过滤,格式与Python的列表相似,即不同主机id名称使用逗号分离。

salt -L 'SN2013-08-021,SN2013-08-021' grains.item osfullname #获取主机id为:SN2013-08-021,SN2013-08-021完整操作系统发行版名称

-G,--grain,根据被控主机的grains信息进行匹配过滤,格式为::

salt -G 'osrelease:6.4' cmd.run 'python -V' #获取发行版本号为6.4的python版本号

-I,--pillar,根据被控主机的pillar信息进行匹配过滤,格式为:"对象名称":"对象值"

salt -I 'nginx:root:/data' test.ping #探测具有'nginx:root:/data'信息的连通性。

#pillar属性配置文件如下:

nginx:

root: /data

-N,--nodegroup,根据主控端master配置文件中的分组名称进行过滤。

8110fd60420a11975fac595c73ebf0d0.gif

#分组配置:【/etc/salt/master】

nodegroups:

web1group: 'L@wx,SN2013-08-21'

web2group: 'L@SN2013-08-22,SN2014'

#其中L@表示后面的主机id格式为列表,即主机id以逗号分隔:G@表示以grain格式描述:S@表示以IP子网或地址格式描述

salt -N web2group test.ping #探测web2group被控主机的连通性

8110fd60420a11975fac595c73ebf0d0.gif

-C,--compound,根据条件运算符not、and、or去匹配不同规则的主机信息

salt -C 'E@^SN2013.* and G@os:Centos' test.ping #探测SN2013开头并且操作系统版本为CentOS的主机的连通性

-S,--ipcidr,根据被控主机的IP地址或IP子网进行匹配

salt -S 192.168.0.0/16 test.ping

salt -S 192.168.1.10 test.ping

参考资料:

根据刘天斯《Python自动化运维技术与最佳实践》整理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是SaltStack常用命令: - salt '*' test.ping - salt-run manage.up - salt '*' state.highstate - salt '*' state.sls <sls_file> - salt-key -L - salt-key -A - salt '*' network.ip_addrs - salt '*' network.interfaces - salt '*' network.traceroute <hostname> - salt '*' network.ping <hostname> ### 回答2: SaltStack 是一个基于Python编写的运维工具,用于配置管理、远程执行命令、软件部署等任务。以下是一些常用的SaltStack命令: 1. salt 'minion_id' test.ping:检测指定minion是否在线,返回True或False。 2. salt 'minion_id' cmd.run 'command':在指定minion上执行命令,并返回输出结果。 3. salt 'minion_id' state.apply 'state_name':应用指定的state,用于执行配置管理任务。state文件定义了目标服务器的配置状态。 4. salt 'minion_id' pkg.install 'package_name':在指定minion上安装软件包。 5. salt 'minion_id' service.start 'service_name':启动指定minion上的服务。 6. salt 'minion_id' grains.get 'grain_name':获取指定minion的指定grain(系统信息)的值。例如,grains.get os 可以获取操作系统类型。 7. salt-key:用于管理SaltStack中minion的key。使用该命令可以接受(accept)、拒绝(reject)或删除(delete)minion的key。 8. salt-run manage.up:列出已连接的minion。 9. salt-run jobs.active:列出正在运行的SaltStack作业。 10. salt-run jobs.list_jobs:列出所有已完成的SaltStack作业。 这些命令只是SaltStack中的一小部分常见命令SaltStack提供了非常丰富的命令和功能,可以根据具体需求来灵活运用。 ### 回答3: SaltStack 是一个开源的自动化运维工具,常用于配置管理和远程执行任务。下面是一些常用的 SaltStack 命令: 1. salt "*" test.ping:用于测试所有 Salt Minion 是否在线。返回值是一个布尔值,表示 Minion 是否可达。 2. salt "*" grains.items:获取所有 Minion 的 grains(系统信息),包括操作系统、CPU、内存等信息。 3. salt "*" cmd.run "hostname":在所有 Minion 上执行命令,此处是获取主机名。可以替换 `hostname` 为其他任意命令。 4. salt "*" state.apply <state_name>:应用某个状态文件。`<state_name>` 是状态文件的名称,可以是单个文件或者目录。 5. salt "*" pkg.install <package_name>:在所有 Minion 上安装指定的软件包。`<package_name>` 是软件包的名称。 6. salt "*" service.start <service_name>:启动指定的服务。`<service_name>` 是服务的名称。 7. salt "*" file.get <file_path>:获取某个文件的内容。`<file_path>` 是文件的路径。 8. salt "*" file.append <file_path> text=<text>:在某个文件的末尾追加文本。`<file_path>` 是文件的路径,`<text>` 是要追加的文本。 9. salt "*" cmd.script <script_path>:在所有 Minion 上执行指定的脚本。`<script_path>` 是脚本的路径。 10. salt "*" network.interfaces:获取所有 Minion 的网络接口信息。 以上是一些常用的 SaltStack 命令,可以帮助进行系统配置管理和任务自动化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值