cheun 发表于 2018-8-1 10:29:22

saltstack(六)pillar

第一,先看看minion上面的/tmp/lixc这个文件夹的大小,是304M  
root@salt-master:~# salt '*' cmd.run 'du /tmp/lixc -sm'
  
salt-minion:
  
    304 /tmp/lixc
  

  
第二,同步一些grains
  
root@salt-master:~# salt '*' saltutil.sync_grains
  
salt-minion:
  
    - grains.check_tmp
  

  
第三,同步之后,看一下我们定义的grains返回来的值
  
root@salt-master:~# salt '*' grains.item tmp
  
salt-minion:
  
tmp: {'name': 'lixc', 'remove': True}
  

  
第四,刷新一下pillar
  
root@salt-master:~# salt '*' saltutil.refresh_pillar
  
salt-minion:
  
    None
  

  
第五,看一下,刷新之后,有没有咱们定义的pillar
  
root@salt-master:~# salt '*' pillar.item filename group groupmember
  
salt-minion:
  
    ----------
  
    filename:
  
      - lixc
  
    group:
  
      lixc
  
    groupmember:
  
      ----------
  
      user1:
  
            lixc
  
      user2:
  
            liss
  

  
第六,好,执行下咱们定义的check_tmp这个state
  
root@salt-master:~# salt '*' state.sls check_tmp
  
salt-minion:
  
----------
  
          ID: /tmp/lixc
  
    Function: file.absent
  
      Result: True
  
   Comment: Removed directory /tmp/lixc
  
   Changes:
  
            ----------
  
            removed:
  
                  /tmp/lixc
  
----------
  
          ID: /home/lixc/test.log
  
    Function: file.managed
  
      Result: True
  
   Comment: File /home/lixc/test.log updated
  
   Changes:
  
            ----------
  
            diff:
  
                  New file
  
            group:
  
                  lixc
  
            mode:
  
                  0644
  
            user:
  
                  lixc
  

  
Summary
  
------------
  
Succeeded: 2
  
Failed:    0
  
------------
  
Total:   2
  

  
第七,看一下/tmp/lixc这个文件夹还在不在?不在了,看到没
  
root@salt-master:~# salt '*' cmd.exec_codebash 'if [ -f "/tmp/lixc" ];\
  
> then echo yes;else echo no;fi'
  
salt-minion:
  
    no
  

  
第八,看看/home/lixc/test.log这个文件生成的内容
  
root@salt-master:~# salt '*' cmd.run 'cat /home/lixc/test.log'
  
salt-minion:
  
    hostname:salt-minion
  
    group:lixc
  
    groupmeber: lixc,liss
  

  
第九,再同步一下grains
  
root@salt-master:~# salt '*' saltutil.sync_grains
  
salt-minion:
  

  
第十,再查看一下咱们自定义的grains返回的值,因为/tmp/lixc这个文件夹不存在了,所以是False了
  
root@salt-master:~# salt '*' grains.item tmp
  
salt-minion:
  
tmp: {'name': 'lixc', 'remove': False}
  

  
第十一,再执行一下我们定义的state,check_tmp
  
root@salt-master:~# salt '*' state.sls check_tmp
  
salt-minion:
  
----------
  
          ID: /home/lixc/exec.log
  
    Function: cmd.run
  
      Result: True
  
   Comment: unless execution succeeded
  
   Changes:
  

  
Summary
  
------------
  
Succeeded: 1
  
Failed:    0
  
------------
  
Total:   1
  

  
第十二,查看一下/home/lixc/exec.log的内容
  
root@salt-master:~# salt '*' cmd.run 'tail -n 1 /home/lixc/exec.log'
  
salt-minion:
  
    lisisi
页: [1]
查看完整版本: saltstack(六)pillar