软件包资源管理

pack.sls 文件,httpd表示要安装软件包,pkg:表示Saltstack安装包管理,-name表示安装软件包名称,-installed表示安装,-removed表示卸载,service:表示Saltstack服务管理。如下

httpd:
 pkg:
   - name: httpd
   - installed
 service:
     - running
     - enable: True

文件资源管理

file:

  - managed

  - source: salt://nginx/nginx.conf

  - user: www

  - group: www

  - mode: 644

  - backup: minion

  - watch_in:

    - cmd:nginx_reload

file.directory 目录管理

/data/nginx/conf/vhosts:
  file.directory:
    - source: salt://nginx/vhosts
    - user: root
    - group: root
    - file_mode: 644
    - dir_mode: 755
    - makedirs: True
    - include_empty: True
    - template: jinja
    - backup: minion
    - recurse:
      - user
      - group
      - mode
    - watch_in:
      - cmd: nginx_reload

插入内容到某个文件:file.append 

jdk:
  pkg:
    - installed
/etc/profile:
  file.append:
    - text: "export JAVA_HOME=/usr/java/jdk1.7.0_51"
    - text: "export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH"

文件拷贝 file.copy 

此命令即可拷贝文件也可拷贝目录:

salt “*” file.copy /data/a.dump /backup/

这句话是把 /data/a.dump 拷贝到 /backup/ 目录

文件软连接 file.symlink 

salt '*' file.symlink /usr/local/zabbix/etc/etc/zabbix

把 /usr/local/zabbix/etc 目录做软连接为 /etc/zabbix

sls 写法

/etc/zabbix:
    file.symlink:
        -target: /usr/local/zabbix/etc