Salt-cp

来自linux中国网wiki
跳到导航 跳到搜索

Saltstack文件管理

salt-cp简述

salt-cp命令用于复制一个文件到多个minion系统中。指定minion可以使用通配符、正则表达式、Grains等方法

salt-cp '*' [ options ] SOURCE DEST
salt-cp -E '.*' [ options ] SOURCE DEST
salt-cp -G 'os:CentOS*' [ options ] SOURCE DEST

minion匹配
   -E 目标选择;表示以正则表达式匹配minion
  -G 目标选择表示使用minion上的Salt Graings系统的返回值来匹配特定minion
  -L 目标minion别解析成用逗号分隔的列表

打开 master配置

# Example: 记住 第一行 是 空格二个  二行是4个  三行是6个哦  
  file_roots:
    base:
      - /srv/salt/


file_roots:
   base:
     - /srv/salt/

salt-cp 用例

#利用 salt 传输和安装 jdk
mv   jdk-8u172-linux-x64.rpm /srv/salt/
salt prod-secret* test.ping 
 salt prod-secret*  cp.get_file salt://jdk-8u172-linux-x64.rpm  /root/jdk-8u172-linux-x64.rpm
 salt prod-secret* cmd.run 'rpm -ivh /root/jdk-8u172-linux-x64.rpm'
 alt prod-secret* cmd.run 'java'





将saltcptest 文件 发送到 OS为CentOS的minion的 /opt目录下
[[email protected] ~]# salt-cp -G 'os:centos' saltcptest  /opt/saltcptest
192.168.30.95:
    ----------
    /opt/saltcptest:
        True
192.168.30.96:
    ----------
    /opt/saltcptest:
        True

[[email protected] ~]# salt-cp -G 'os:centos' saltcptest  /opt
192.168.30.95:
    ----------
    /opt:
        [Errno 21] Is a directory: '/opt'
192.168.30.96:
    ----------
    /opt:
        [Errno 21] Is a directory: '/opt'

将salt.doc文件发送到所有的minion的/usr/local目录下
salt-cp '*' salt.doc /usr/local/
返回值:{'192.168.1.223': {'/usr/local/salt.doc': True}} 表示成功


salt-cp -L '192.168.1.223' install.log /usr/local/
返回{'192.168.1.223': {'/usr/local/install.log': True}} 表示成功

参考

Salt文件服务器与salt-cp以及cp模块