1.managed文件管理

/srv/salt/file/managed.sls

/tmp/hyxc:
file.managed:
- source:
- salt://files/hyxc
- salt://files/hwg
- makedirs: True
# - replace: False
- user: root
- group: root
- mode: 644
- backup: minion
- template: jinja

执行如下命令完成源文件管理

salt 'test82.salt.cn' state.sls file.managed

若文件之前存在,且源文件相对有更改,则管理后在/var/cache/salt/minion/file_backup/可看见该文件的备份文件

2.append文件管理

/srv/salt/file/append.sls

/tmp/hyxc:
file.append:
- text: |
hyxc

执行如下命令在文件末尾添加一行

salt 'test82.salt.cn' state.sls file.append

3.recurse递归管理文件

/srv/salt/file/recurse.sls

/tmp/hwg:
file.recurse:
- source: salt://files/hwg
- user: nobody
- group: nobody
- file_mode: 644
- dir_mode: 755
- include_empty: Ture
# - clean: Ture
# - exclude_pat: E@(hh)
# - include_pat: E@(ss)

执行如下命令完成文件递归管理

salt 'test82.salt.cn' state.sls file.recurse

4.directory目录管理

/srv/salt/file/directory.sls

/tmp/hwg:
file.directory:
- user: root
- group: root
- dir_mode: 755
- file_mode: 644
- makedirs: True
- recurse:
- user
- group
- mode

执行如下命令即可创建目录

salt 'test82.salt.cn' state.sls file.directory

5.absent删除文件或目录

/srv/salt/file/absent.sls

/tmp/hwg:
file.absent:
- name: /tmp/hwg

执行如下命令删除文件

salt 'test82.salt.cn' state.sls file.absent

或在命令行执行如下

salt '*' file.remove /tmp/hyxc

6.注释文件的指定行,取消注释用uncomment

/srv/salt/file/comment.sls

/tmp/hyxc:
file.comment:
- regex: ^text 2
- backup : .bak
- char: #

命令行执行如下命令完成注释

salt 'test82.salt.cn' state.sls file.comment

7.rename重命名文件

/srv/salt/file/rename.sls

/tmp/jim:
file.rename:
- source: /tmp/hwg

命令行执行如下命令实现重命名

salt 'test82.salt.cn' state.sls file.rename

8.replace替换文件内容

/srv/salt/file/replace.sls

/tmp/hyxc:
file.replace:
- pattern: |
jim
- repl: |
hyxc

命令行执行如下命令进行替换

salt 'test82.salt.cn' state.sls file.replace

或命令行直接执行如下

salt '*' file.replace /path/to/file pattern='=' repl=':'

9.exists检查文件是否存在

/srv/salt/file/exists.sls

/tmp/hyxc:
file.exists:
- name: /tmp/hyxc

命令行执行如下命令检查

salt 'test82.salt.cn' state.sls file.exists

或在命令行直接执行如下命令

salt 'test82.salt.cn' file.file_exists /etc/passwd

10. 命令行执行命令

更改文件属主属组

salt '*' file.chown /etc/passwd root root

更改文件属组

salt '*' file.chgrp /etc/passwd root

saltstack之文件管理的更多相关文章

  1. saltstack布署实践 【配置文件管理-state模块】

    那如果要批量修改被管机器的某个配置文件怎么做?以下给出一个最简单案例.   先在主管机器master上查看/etc/salt/master配置文件 看到有以下几行配置文件   # file_roots ...

  2. 部署搭建 Saltstack(centos6.6)

    SaltStack介绍 官网:https://docs.saltstack.com/en/latest/ 中国saltstack用户组http://www.saltstack.cn/ 下图是它的子系统 ...

  3. saltstack之(六)配置管理state

    配置管理是saltstack工具最重要的模块之一,也是学习saltstack之后使用最多的一个功能.可以轻松实现上百台上千台甚至上万台服务器的管理工作. 1.使用state模块进行配置管理,编写sls ...

  4. saltstack实战4--综合练习2

    Saltstack配置管理-功能模块-安装haproxy 配置管理,我们分了3层 最底层是系统初始化部分 倒数二层是功能模块,就是具体的产品的安装了 假如你的环境需要nginx,php,memcach ...

  5. saltstack实战4--综合练习1

    规范配置管理 实际工作中可能会有现网环境,基线环境,开发环境. 需要使用saltstack统一管理.机器多了,业务多了,可能配置文件存放的会比较乱,因此可以统一管理起来 我们可以再加2个目录,test ...

  6. saltstack实战3--配置管理之grains

    grains是什么 grains是minion服务启动后,采集的客户端的一些基本信息,硬件信息,软件信息,网络信息,软件版本等.你可以在minion上自定义一些grains信息. 它是静态的信息,mi ...

  7. Saltstack 安装使用

    Saltstack是一个具备puppet与func功能为一身的集中化,轻量级的自动化运维管理工具,使用python编写,功能非常强大,可以使用EPEL快速安装.相比较puppet,安装和配置更加容易和 ...

  8. saltstack布署实践 【安装】

    借用链接http://www.cnblogs.com/liuyansheng/p/6094122.html的安装方式,我再同步一下其它操作系统的安装方式,由原Docker官网拷贝 Ubuntu1404 ...

  9. Saltstack批量编译部署nginx(多模块)

    最近一直在研究saltstack的同步文件和批量执行命令,随着架构的变大,批量部署的需求也变得明显起来了,我需要用一条命令就部署好nginx和tomcat,并且符合我所有的环境需求,可以直接投入生产环 ...

随机推荐

  1. tomcat下载安装以及在eclipse中的配置

    eclipse的下载地址是http://www.eclipse.org/downloads/. tomcat的下载地址为http://tomcat.apache.org/ 这两个工具的安装都非常eas ...

  2. Java:网络编程之登陆服务器

    1. 客服端:浏览器(telnet) 服务端:自定义 2. 客服端:浏览器 服务端:TomCat服务器 3. 客服端:自定义 服务端:TomCat服务器   //例子如下: import java.n ...

  3. Solr6.6.0 用 SimplePostTool索引文件

    一.背景介绍 Solr启动并运行之后,并不包含任何数据,在solr的安装目录下的bin目录中,有一个post工具,我们可以使用这个工具往solr上传数据,这个工具必须在命令行中执行,post工具是一个 ...

  4. wget jdk

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...

  5. zabbix自定义监控项二

    为zabbix增加支持传参的自定义监控项 例如使用zabbix来监控tcp的12种状态 tcp的12种状态可以通过man netstat来找到,即 LISTEN:等待从任何远端TCP 和端口的连接请求 ...

  6. 对checkpoint not completed的理解

    如果数据库存在两个日志组log1和log2,首先.-->log1-->log2-->log1,此时(log2切换到log1)触发checkpoint.该checkpoint will ...

  7. azkaban2.5 具体配置以及使用方式

    azkaban支持shell.java.mapreduce以及hive的工作流调度,在对这些不同类型任务调度之前须要配置所相应的插件:azkaban总体分为两部分azkaban executor se ...

  8. HDU-1047-Integer Inquiry(Java大数水题 && 格式恶心)

    Integer Inquiry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. Oracle case when then else end的两种用法

    查询表结构 SELECT T.COLUMN_ID, T.COLUMN_NAME, (CASE WHEN (T.DATA_TYPE = 'VARCHAR2' OR T.DATA_TYPE = 'RAW' ...

  10. my_interface

    import flask,osserver=flask.Flask(__name__) #当前这个python文件,当做一个服务 @server.route('/error',methods=['ge ...