salt 文件push使用方法

MINIONFS BACKEND WALKTHROUGH

启用文件传输,有时候我们需要将minion端生成的一些文件收集到master端

配置
master端的相关配置:
(1)配置接收minion端文件,基于安全原因默认是关闭的
    file_recv: True
(2)cachedir配置文件保存在master端的路径
    默认存放在/master/minions/minion-id/files路径下

指令:salt ‘minion-id‘ cp.push /path/to/the/file

MINIONFS BACKEND

MINIONFS master端配置

fileserver_backend:
- roots
- minion

file_recv: True

fileserver_backend在文件服务器那一部分讲过,roots是设置本地的文件服务器的目录环境,
同样的fileserver_backend可以将从minion端拉取过来的文件通过文件服务器发布出去,pull
到其他minion上。

以下有两个常用的方法:
(1)查看master端有哪些可以推送的文件
    salt ‘*‘ cp.list_master_dirs
(2)将某一minion下的文件或目录pull到其他minion上
    salt ‘minion2‘ cp.get_file salt://minion1/opt/1.txt /opt/1.txt

使用minionFS进行公钥分发实例:

被连接方:minion-destination,存放公钥,存放在/root/.ssh/authorized_keys
连接方:minion-source,存放私钥,存放在/root/.ssh/id_rsa
(1)在目标主机上创建密钥存放目录
    salt ‘XX‘ file.mkdir dir_path=/root/.ssh user=root group=root mode=700
(2)在minion-source主机上生成密钥对
    salt ‘minion-source‘ cmd.run ‘ssh-keygen -N "" -f /root/.ssh/id_rsa‘
(3)将minion-source上的公钥push到master端
    salt ‘minion-source‘ cp.push /root/.ssh/id_rsa.pub
(4)分发minion-source主机上的公钥到minion-destination主机上的指定目录
    salt ‘minion-destination‘ cp.get_file salt://minion-source/root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

参考链接:
http://m.blog.chinaunix.net/uid-21142030-id-5710194.html
http://docs.saltstack.cn/topics/tutorials/minionfs.html

时间: 2024-12-17 11:41:15

salt 文件push使用方法的相关文章

linux下SVN忽略文件/文件夹的方法

linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录),如果报错请看下面 3. 打开的文件就是忽略列表文件了(默认是空的),每一行是一项,在该文件中输入temp,保存退出 4. svn st查看状态,temp的?状态已经消除了 如果在svn propedit svn:ignore .时报错:svn: None of the environment va

linux找不到动态链接库 .so文件的解决方法

如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形. 可以通过ldd命名来查看可执行文件依赖的动态链接库,如下(其中D为可执行程序): 其中的libjson_linux-gcc-4.6_libmt.so cannot found. 解决这个问题: (1)在系统中查找这个文件(当然要保证系统中已经有这个.so文件,只是查找路径没有设置正确而已): sudo find / -name libjson_linux-gcc

Linux服务器删除乱码文件和文件夹的方法

Linux服务器删除乱码文件和文件夹的方法 首页进入乱码文件所在文件夹由于php大势所趋,所以接触Linux服务器的机会越来越多.不同于Windows服务器,Linux服务器只支持数字.英文等字符,对中文字符没办法识别.所以导致我们打包上传文件解压之后出现中文乱码文件和文件夹.网上有很多解决的办法,但是今天亲测用find命令能快速删除乱码的文件和文件夹,所以跟大家分享一下. 使用ls -i命令找到文件或文件夹的节点编号 前面的就是节点号了,接下来使用find命令查询并且删除 -inum指根据节点

ios 7.1 7.1.1 半完美越狱后 电脑訪问手机越狱文件夹的方法

7.1和7.1.1因为越狱不成熟,半完美越狱后电脑上无法訪问系统越狱文件夹,如var usr 等等. 今天有些意外地发现,能够在电脑上使用手机的越狱文件夹我手机 i4 7.1.1 联通 半完美越狱,没装Afc2Add,也没装Appsync 附上  --->我的半完美越狱过程 好了,以下直接正题 一.前提,必须安装ifile!     打开ifile,并转到 /var/mobile/media 文件夹下,然后点击右上角的 [ 编辑 ]如图: 二.点左下角的 + 号创建,如图: 三.点 [ 类型],

linux几种快速清空文件内容的方法

linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo "" > filename $ echo /dev/null > filename $ echo > filename $ cat /dev/null > filename

PHP加载另一个文件类的方法

加载另一个文件类的方法 当前文件下有a.php 和b.php,想要在class b中引入class a <?php    class a    {        public $name = 'zhouqi';        public function say()        {            echo 'hello '.$this->name;        }    } <?php    class b    {        //require('a.php'); 错

python2.7 跨文件全局变量的方法

有关python实现跨文件全局变量的方法. 在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况.文件1:globalvar.py #!/usr/bin/env python2.7 class GlobalVar: db_handle = None mq_client = None def set_db_handle(db): GlobalVar.db_handle = db def get_db_handle(): return GlobalVar.db_han

SQL Server日志文件庞大收缩方法(实测好用)

原文:SQL Server日志文件庞大收缩方法(实测好用) 这两个命令连续执行,间隔时间越少越明显(可多次运行),直到达到效果 --截断 BACKUP LOG CloudMonitor TO DISK='NUL' --收缩 DBCC SHRINKFILE('CloudMonitor_log') 以后就可以采用常规的定期备份日志(比如一小时一次)来防止日志文件无限增长. SQL Server日志文件庞大收缩并非易事, 文章中提到: 由于首日志.尾日志和空间重复利用的原因,当备份日志后产生了日志截断

Java逐行读取文件有多少种方法?

如果每个线程使用的变量都是其它线程不会读取或修改的,那么就不存在一致性问题.同样,如果变量是只读的,多个线程同时读取该变量也不会有一致性问题.否则,将会出现不一致性问题.为了解决数据不一致问题,必须引入某些机制使线程间同步. 当变量修改时间多于一个存储器访问周期,同时读.写操作又相互交替时,潜在的不一致性就会出现.如下图所示: 此时,线程B读取到的数据是错误的.使用一把锁能够解决上述问题: 下面介绍线程的三种同步机制: 1.互斥量pthread_mutex_t 互斥量就是锁,对某段临界区进行加锁