saltstack cp模块使用

cp模块

在配置管理系统中,从中心服务器向客户端推送文件是很基本的需求。SaltStack使用内建的ZeroMQ服务器做为文件服务器。 文件服务器主要用来在state系统中推送文件到客户端,也可以用于其他文件的传输。

cp模块

客户端对文件服务器的操作都在cp模块中。Salt State系统,
也可使用Salt-cp代替

基本解释:

salt根目录:在master中 file_roots 定义的路径
例如:假设在master中有如下定义:
file_roots:
base:

  • /srv/salt/
    那么:salt://vimrc指的实际路径是:/srv/salt/vimrc,这样做的好处是,可以满足state系统中环境的概念。

常见用法:

get_file:
master下载文件到客户端:
salt ‘*’ cp.get_file salt://vimrc /etc/vimrc
salt ‘*’ cp.get_file “salt://{{grains.os}}/vimrc” /etc/vimrc template=jinja   使用模板
salt ‘*’ cp.get_file salt://vimrc /etc/vimrc gzip=5 压缩:其中,1代表作小压缩,9代表最大压缩。
salt ‘*’ cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True 如果目录不在,则创建目录
注意:cp.get_file默认不在客户端上建立目录,如果客户端上没有这个目录,且未指定makedirs=True,文件拷贝将失败。

get_dir

从master下载整个目录:
salt ‘*’ cp.get_dir salt://etc/apache2 /etc
salt ‘*’ cp.get_dir salt://etc/{{pillar.webserver}} /etc gzip=5 template=jinja 也支持模板和压缩

get_url

从一个URL地址下载文件,URL可以是msater上的路径(salt://),也可以是http网址。
salt ‘*’ cp.get_url salt://my/file /tmp/mine
salt ‘*’ cp.get_url http://www.slashdot.org /tmp/index.html

get_template

在文件下载之前用模板引擎处理。
salt ‘*’ cp.get_template salt://path/to/template /minion/dest

push

从客户端传文件到master上,处于很明显的安全考虑,默认没有启用此功能,如果你需要的话可以参考文档,很方便的开启。

其他&例子:

1.        salt ‘*‘ cp.cache_dir salt://path/to/dir2.        salt ‘*‘ cp.cache_dir salt://path/to/dir include_pat=‘[email protected]*.py$‘3.        salt ‘*‘ cp.cache_file salt://path/to/file4.        salt ‘*‘ cp.cache_files salt://pathto/file1,salt://pathto/file15.        salt ‘*‘ cp.cache_local_file /etc/hosts6.        salt ‘*‘ cp.cache_master7.        salt ‘*‘ cp.get_dir salt://path/to/dir/ /minion/dest8.        salt ‘*‘ cp.get_file salt://path/to/file /minion/dest9.        salt ‘*‘ cp.get_file "salt://{{grains.os}}/vimrc" /etc/vimrc template=jinja10.        salt ‘*‘ cp.get_file_str salt://my/file11.        salt ‘*‘ cp.get_template salt://path/to/template /minion/dest12.        salt ‘*‘ cp.get_url salt://my/file /tmp/mine13.        salt ‘*‘ cp.get_url http://www.slashdot.org /tmp/index.html14.        salt ‘*‘ cp.hash_file salt://path/to/file15.        salt ‘*‘ cp.is_cached salt://path/to/file16.        salt ‘*‘ cp.list_master17.        salt ‘*‘ cp.list_master_dirs18.        salt ‘*‘ cp.list_master_symlinks19.        salt ‘*‘ cp.list_minion20.        salt ‘*‘ cp.list_states21.        salt ‘*‘ cp.push /etc/fstab22.        salt ‘*‘ cp.push /etc/system-release keep_symlinks=True23.        salt ‘*‘ cp.push /usr/lib/mysql24.        salt ‘*‘ cp.push_dir /etc/modprobe.d/ glob=‘*.conf‘
时间: 2024-10-27 12:41:47

saltstack cp模块使用的相关文章

Salt文件服务器:cp 模块(三)

Salt文件服务器 Salt内置一个简单的文件服务器用于分发文件给Salt minions. 文件服务器是一个构建于Salt master的无状态的ZeroMQ服务器. Salt文件服务器的主要意图是使用在Salt state系统中展示文件的.这样看来,Salt文件服务器可以用于任何master到minions的通用文件传输. CP模块 The cp module is the home of minion side file server operations. The cp module i

Saltstack常用模块及API(4)

Saltstack提供了非常丰富的功能模块(用python所写),涉及操作系统的基础功能.常用工具支持等,当然也可以通过sys模块列出当前版本支持的模块 #salt '*' sys.list_modules 接下来抽取常见的模块进行介绍,同时也会列举模块的API使用方法.API的原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmda()方法来实现的.以下是API实现test.ping的示例: import salt.client client = sa

saltstack 常用模块

cp模块 功能:实现远程文件.目录的复制,以及下载URL文件等操作 使用cp模块配置管理之前,要首先指定saltstack所有状态文件的根目录,在master上做如下操作: 指定根目录(确定指定的目录是否存在,如果不存在,需要手动来创建目录) 修改之后重启master服务 [[email protected]_master ~]# cat /etc/salt/master |grep -v "^#\|^$" auto_accept: True file_roots: base: - /

saltstack常用模块及组件备忘

Saltstack分为主控端和被控端.主控端的salt服务启动:systemctl start salt-master,被控端的服务启动:systemctl start salt-minion1.Saltstack的防火墙配置主控端防火墙允许TCP4505和4506端口,被控端不需要配置.原理是被控端直接与主控端的zeromq建立长链接,接受广播到的任务信息并执行. iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506

Saltstack系列3:Saltstack常用模块及API

说明 salt '*' sys.list_modules #列出当前版本支持的模块 API原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的.以下API实现test.ping的示例:(其他API调用只需要改变cmd即可) import salt.client client = salt.client.LocalClient() ret = client.cmd('*','test.ping) #cmd内格式:'<操作目标>','&l

Saltstack 基础模块记录二

一. Archive模块 功能:实现系统层面的压缩包调用,支持gzip.gunzip.rar.tar.unrar.unzip等 示例: 1.采用gunzip解压sourcefile.txt.gz包 salt '*' archive.gunzip sourcefile.txt.gz 2.采用gzip压缩sourcefile.txt文件 salt '*' archive.gzip sourcefile.txt 3.API调用: client.cmd('*','archive.gunzip',['so

saltstack常用模块

1.cmd模块 执行命令的模块 #salt '*' cmd.run 'whoami' 2.cp模块 拷贝文件的模块 #salt '*' cp.get_file salt://file/1.txt /root/1.txt 3.cron模块 ## 为指定的被控主机.root用户添加crontab信息# salt '*' cron.set_job root '*/5' '*' '*' '*' '*' 'date >/dev/null 2>&1'# salt '*' cron.raw_cron

Linux saltstack常用模块

所有模块 salt '172.30.100.126' sys.list_modules #列出当前版本支持的模块 salt '*' sys.doc cp #显示指定模块的文档 archive模块 实现系统层面的压缩包调用,支持gzip.gunzip.rar.tar.unrar.unzip等 cmd模块 实现远程的命令行调用执行 salt '*' cmd.run 'df -h' # 执行传递的命令,并将结果作为字符串返回 salt '*' cmd.script salt://tmp/test.sh

saltstack使用之二(完成部署编译nginx以及部分cp模块的使用)

书接上一篇原创其中有好同事的帮忙一起测试不容易写出文档整理一下 salt.modules.cp.get_dir(path, dest, saltenv='base', template=None, gzip=None, env=None) Used to recursively copy a directory from the salt master 1.复制目录 salt '*' cp.get_dir salt://path/to/dir/ /minion/dest 从主节点的能访问到的UR