saltstack 模块学习之 state
入口文件top.sls 三要素
环境:通过file-roots指定
目标主机:可以使用通配符*
配置文件路径:路径分割符为. 比如a.mysql 表示在环境指定的路径下有个a目录,a目录下有个mysql.sls文件
每个相同要素下的元素为并列关系,使用列表 -
环境:通过file-roots指定
目标主机:可以使用通配符*
配置文件路径:路径分割符为. 比如a.mysql 表示在环境指定的路径下有个a目录,a目录下有个mysql.sls文件
每个相同要素下的元素为并列关系,使用列表 -
[root@frontend_01 salt]# cat hello/etc.sls
etc_backup:
file.recurse:
- source: salt://hello/etc ### 需要复制的文件路径的根目录,确保file-root对应环境下
- name: /hello/etc ### 复制到minion的目标路径
- include_empty: True
- dir_mode: 0755
- file_mode: '0644'
- user: nobody
- group: nobody
- makedir: True
- backup: minion
执行
软连接文件和软连接指向的文件都没有复制到minion下,其实我想的是salt处于安全考虑,如果软连接文件被复制到minion,那么如果它指向的目标正好在minion端上有
那么会存在对软连接的操作都会对minion有影响,比如上面的如果/etc/grub.conf也被复制到minion那么有可能指向minion /boot/grub/grub.conf 造成误杀