痴心VS绝对 发表于 2018-1-3 19:40:14

saltstack管理八之常用执行模块

1 .sls文件1:  

2 /tmp/salt/:  

3   file:  

4   - directory               #目录不存在,则创建目录  

5   - name: /tmp/salt/  
6   - user: nobody
  
7   - group: nobody
  
8   - file_mode: 644            #与recurse递归函数一起用
  
9   - dir_mode: 755             #文件权限644,目录权限755
  
10   - makedirs: True
  
11   - recurse:               #递归目录权限,包括用户和权限
  
12       - user                   #若本来此目录就存在,且此目录下有很多文件,则recurse函数会把此目录和目录下的所有文件的权限都修改(nobody 644 755)
  
13       - group
  
14       - mode                   #文件644,目录755,就是上面的file_mode和dir_mode
  
15       #- ignore_files         #忽略文件
  
16       #- ignore_dirs
  
17
  
18 /tmp/salt/file:
  
19   file:
  
20   - managed                   #创建文件
  
21   - name: /tmp/salt/file
  
22   - source: salt://web/files/httpd.conf
  
23   - user: nobody
  
24   - group: nobody               #若此文件本来就存在,则会修改此文件的权限(nobody 644)
  
25   - mode: 644
  
26   #- backup: minion
  
27   #- template: jinja          #调用pillar变量和grains变量
  
28   - require:
  
29       - file: /tmp/salt/
  
30
  
31
  
32 .sls文件2:
  
33 {% set site_user = 'testuser' %}         #定义变量
  
34 {% set site_name = 'test_site' %}
  
35 {% set project_name = 'test_proj' %}
  
36 {% set sites_dir = 'test_dir' %}
  
37 django-project:
  
38   file.recurse:
  
39   - name: {{ sites_dir }}/{{ site_name }}/{{ project_name }}
  
40   - user: {{ site_user }}            #直接调用变量
  
41   - dir_mode: 2775
  
42   - file_mode: '0644'
  
43   - template: jinja                   #指定template: jinja
  
44   - source: salt://project/templates_dir
  
45   - include_empty: True
  
46
  
47
  
48
  
49 .sls文件3:
  
50 /etc/http/conf/http.conf:
  
51   file.managed:
  
52   - source: salt://apache/http.conf
  
53   - user: root
  
54   - group: root
  
55   - mode: 644
  
56   - template: jinja
  
57   - defaults:               #默认变量,多个一行一个
  
58         custom_var: "default value"      #这些变量将会在salt://apache/http.conf这个文件里使用
  
59         other_var: 123
  
60 {% if grains['os'] == 'Ubuntu' %}          ##if语句要定格##
  
61   - context:                #以context下的变量为准,没有时再用defaults下的变量
  
62         custom_var: "override"      #这里以这个变量为准,defaults里的是无效的
  
63 {% endif %}
  
64
  
65 .sls文件4:
  
66 /tmp/dir1/file1:
  
67   file:
  
68   - managed
  
69   - makedirs: True
  
70 ##若minion端没有dir1目录,使用makedirs函数可以直接创建dir1目录,再创建file1文件
页: [1]
查看完整版本: saltstack管理八之常用执行模块