博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
saltstack学习-6:文件系统
阅读量:5334 次
发布时间:2019-06-15

本文共 4743 字,大约阅读时间需要 15 分钟。

1,修改配置文件

[root@study02 ~]# vim /etc/salt/master# The file server works on environments passed to the master, each environment# can have multiple root directories, the subdirectories in the multiple file# roots cannot match, otherwise the downloaded files will not be able to be# reliably ensured. A base environment is required to house the top file.# Example:# file_roots:#   base:#     - /srv/salt/#   dev:#     - /srv/salt/dev/services#     - /srv/salt/dev/states#   prod:#     - /srv/salt/prod/services#     - /srv/salt/prod/states#file_roots:  base:    - /srv/salt

base:基础版  ---默认使用这个版本

dev:开发版

prod:产品版

2,创建目录

手工创建,配置文件配置的目录。

测试1:salt远程执行脚本

  • 创建脚本
[root@study02 ~]# mkdir /srv/salt[root@study02 salt]# mkdir etc/script[root@study02 script]# vim test.sh[root@study02 script]# cat test.sh #!/bin/shwhile truedo     sleep 1    echo 1 >> /tmp/1.logdone
  • 执行脚本
[root@study02 script]# salt 'study02' cmd.script salt://etc/script/test.sh

注意:由于这个脚本会一直执行,master在执行这个脚本的时候命令不会退出,需要ctrl+c退出。minion端会生成一个tmp***.sh的脚本,minion实际运行的是这个脚本。所以master退出后不影响minion的运行。

3,创建sls文件

创建top.sls

[root@study02 salt]# cat top.sls base:                                           #与base,prod,dev 对应  'study02':                                   #同步的minion_id    - test                                        #调用的sls文件名

创建test.sls

[root@study02 salt]# cat test.sls syncfile:                                              #名称,可以自定义。如果不写name的话,这里需写成目标地址  file.managed:                                         #file模块的managed方法    - source: salt://etc/file/passwd                    #原文件路径    - user: root                                        #源文件属主    - group: root                                       #源文件属组    - mode: 600                                         #源文件权限    - name: /tmp/passwd                                 #同步目标地址

同步测试

salt 'study02' state.highstate              执行top.sls

salt 'study02' state.sls test                 根目录

salt 'study02' state.sls sls.test            相对路径

salt 'study02' state.sls sls                   默认init.sls

方式一:

[root@study02 salt]# salt 'study02' state.highstatestudy02:----------          ID: syncfile    Function: file.managed        Name: /tmp/passwd      Result: True     Comment: File /tmp/passwd is in the correct state     Started: 16:48:10.320748    Duration: 8.941 ms     Changes:   Summary------------Succeeded: 1Failed:    0------------Total states run:     1

方式二:

[root@study02 salt]# salt 'study02' state.sls teststudy02:----------          ID: syncfile    Function: file.managed        Name: /tmp/passwd      Result: True     Comment: File /tmp/passwd updated     Started: 16:55:38.798378    Duration: 14.808 ms     Changes:                 ----------              diff:                  ---                    +++                    @@ -1,4 +1,5 @@                   1111111111                  +22222222222222222                   root:x:0:0:root:/root:/bin/bash                   bin:x:1:1:bin:/bin:/sbin/nologin                   daemon:x:2:2:daemon:/sbin:/sbin/nologinSummary------------Succeeded: 1 (changed=1)Failed:    0------------Total states run:     1

方式三:将所有的sls文件放到一个目录

[root@study02 salt]# tree .├── etc│   ├── file│   │   └── passwd│   └── script│   └── test.sh├── sls│   └── test.sls├── test.sls└── top.sls

执行同步命令

[root@study02 salt]# salt 'study02' state.sls sls.teststudy02:----------          ID: syncfile    Function: file.managed        Name: /tmp/passwd      Result: True     Comment: File /tmp/passwd updated     Started: 16:59:41.890034    Duration: 14.619 ms     Changes:                 ----------              diff:                  ---                    +++                    @@ -37,3 +37,4 @@                   mysql:x:496:493:MySQL server:/var/lib/mysql:/bin/bash                   zabbix:x:495:492:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin                   exim:x:93:93::/var/spool/exim:/sbin/nologin                  +333Summary------------Succeeded: 1 (changed=1)Failed:    0------------Total states run:     1

方式4:默认执行init.sls,程序会自动补充文件后缀(.sls)

[root@study02 salt]# tree.├── etc│   ├── file│   │   └── passwd│   └── script│   └── test.sh├── sls│   ├── init.sls│   └── test.sls├── test.sls└── top.sls

init.sls功能查询主机名:

[root@study02 sls]# cat init.sls hostname:  cmd.run

测试结果:

[root@study02 sls]# salt 'study02' state.sls slsstudy02:----------          ID: hostname    Function: cmd.run      Result: True     Comment: Command "hostname" run     Started: 17:10:26.074874    Duration: 9.38 ms     Changes:                 ----------              pid:                  30307              retcode:                  0              stderr:              stdout:                  study02Summary------------Succeeded: 1 (changed=1)Failed:    0------------Total states run:     1

转载于:https://www.cnblogs.com/snailshadow/p/8214963.html

你可能感兴趣的文章
SpringBoot集成Swagger2 以及汉化 快速教程
查看>>
读《奇点临近》
查看>>
[百科]sys/types.h
查看>>
DAY56-前端入门-javascript(三)
查看>>
Anaconda 环境中使用pip安装时候出现的一些问题
查看>>
POJ 3461 还是两种方法
查看>>
【译】SSH隧道:本地和远程端口转发
查看>>
win8.1安装Python提示缺失api-ms-win-crt-runtime-l1-1-0.dll问题
查看>>
mysql授权grant
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
【乱搞】【AOJ-574】爱就大声说出来
查看>>
RESTful记录-RESTful服务
查看>>
工程项目缺少C文件会怎么样?STM32 flasher
查看>>
Clojure编写一个阶乘程序 使用递归
查看>>
zbb20190703 搭建vue工程并配置idea开发工具
查看>>
Android Studio的git功能的使用介绍
查看>>
【转载】Vim查找替换及正则表达式的使用
查看>>
u3D大场景的优化
查看>>
CodeForces 180C Letter
查看>>
[原]SQL相关路径查询脚本
查看>>