Saltstack sls文件:批量替换指定文件

一、创建salt管理配置文件:将所有minion 指定文件替换为master端的文件。

1、创建salt管理目录,并创建salt配置文件规范  

# 创建salt文件目录
mkdir /srv/{salt,pillar}

# 创建编辑sls文件
vim host_file.sls

注:salt配置文件后缀必须是sls。

2、编辑sls文件

----------------------------------------
# 第一行需要管理的文件名,minion端指定路径
/etc/hosts:
# 两个空格,写入方法名。如下方法为管理这个文件
  file.managed:
# 四个空格,告诉管理文件地址的相对路径
    - source: salt://files/hosts
# 四个空格,管理用户
    - user: root
# 四个空格,管理用户组
    - group: root
# 四个空格,设置权限
    - mode: 644
 ----------------------------------------

3、进入相对路径,并创建files文件夹

# 进入salt管理路径
cd /srv/salt/
# 创建文件目录
mkdir files
# 进入文件目录
cd files
# 复制同步文件
cp /etc/hosts .

4、执行sls文件命令,将minion文件同步位master

salt '*' state.sls host_file

注:host_file后面不需要加sls后缀。

--------------------------------------------
Stest2:
----------
          ID: /etc/hosts
    Function: file.managed
      Result: True
     Comment: File /etc/hosts updated
     Started: 13:49:35.880926
    Duration: 117.478 ms
     Changes:   
              ----------
              diff:
                  --- 
                  +++ 
                  @@ -1,4 +1,5 @@
                   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
                   ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
                  -192.168.1.138 master.abc.cn
                  -192.168.1.142 client.abc.cn
                  +192.168.1.185 master.zjz.cn
                  +192.168.1.138 client1.zjz.cn
                  +192.168.1.142 client2.zjz.cn

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1
Stest1:
----------
          ID: /etc/hosts
    Function: file.managed
      Result: True
     Comment: File /etc/hosts updated
     Started: 13:49:35.992132
    Duration: 263.024 ms
     Changes:   
              ----------
              diff:
                  --- 
                  +++ 
                  @@ -1,4 +1,5 @@
                   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
                   ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
                  -192.168.1.138 master.abc.cn
                  -192.168.1.142 client.abc.cn
                  +192.168.1.185 master.zjz.cn
                  +192.168.1.138 client1.zjz.cn
                  +192.168.1.142 client2.zjz.cn

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1
--------------------------------------------
输出结果

原文地址:https://www.cnblogs.com/xiangsikai/p/9358362.html