分组


G 匹配客户端的一些机器信息

E 匹配正则

L minionsID(此参数iD必须完整,切正确)

R 匹配ip

vim /etc/salt/master

nodegroups:

  test1::'E@*lgl.com'

测试:

salt -N test1 test.ping

组名不用加引号

注意:在语法中or表示加,and表示或,与其他的相反



模块

查看模块:

salt 'minion1.lgl.com' sys.doc

saltutil.is_running查看客户端正在执行的master给的任务


文件系统


例:统一执行脚本

vim /etc/salt/master(打开以下几行)

file_roots:

   base:

     - /srv/salt/


创建文件夹

mkdir -p /src/salt

创建脚本vim /src/salt/lgl.sh

#!/bin/bash

while true

do

  sleep 1

  echo 1 >>/tmp/log

done

执行脚本文件(不用执行,知道可以文件的意义就可以了)

salt '*' cmd.script salt://lgl.sh

例:同步 文件

vim top.sls

base: #对应配置文件中的base路径

  '*': #指定所有机器

   - lgl #对应lgl.sls文件

vim lgl.sls

/etc/host: #name或同步到哪里

  file.managed: #使用文件模块

    - souce: salt://etc/hosts #同步的源

    - user: root #用户

    - gorupe: root #组

    - mode: 600 #权限

    - name #第一行不定义路径的话,此行定义同步到哪里

创建要同步的文件并拷贝到此目录 /tmp/lgl

[root@master salt]# salt '*' state.highstate

minion2.lgl.com:

----------

          ID: /tmp/lgl

    Function: file.managed

      Result: True

     Comment: Empty file

     Started: 14:43:05.300413

    Duration: 16.768 ms

     Changes:   

              ----------

              new:

                  file /tmp/lgl created

Summary

------------

Succeeded: 1 (changed=1)

Failed:    0

------------

Total states run:     1

minion1.lgl.com:

----------

          ID: /tmp/lgl

    Function: file.managed

      Result: True

     Comment: Empty file

     Started: 14:43:06.216754

    Duration: 12.804 ms

     Changes:   

              ----------

              new:

                  file /tmp/lgl created

Summary

------------

Succeeded: 1 (changed=1)

Failed:    0

------------

Total states run:     1

返回以上信息,执行成功



查看

salt '*' grains.ls 查看所有grains

salt '*' items    列出名和所对应的值

salt '*' grains.item os 指定对应的



spacer.gif