ansible的copy模块应用(ansible 2.9.5)
一,copy模块的作用:
复制文件到受控的远程主机
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,copy模块的例子:
1,复制文件
#src : 被复制到远程主机的本地文件
#dest : 源文件复制到的远程主机的绝对路径
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/china_ip.txt dest=/home/webop/china_ip2.txt'
2,受控机目标文件所在目录不存在时会报错:
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/china_ip.txt dest=/home/webop1/china_ip2.txt'
121.122.123.47 | FAILED! => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"checksum": "9194708f7a019d4fecf3af3284734136cc0b3383",
"msg": "Destination directory /home/webop1 does not exist"
}
3,目标文件已存在?
如果与源文件内容相同,则不会改变,
如果与源文件内容不同,则会覆盖目标文件
可以用backup指定是否覆盖前做备份
例子:
#backup=yes : 指定在覆盖目标文件前要做备份
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/china_ip.txt dest=/home/webop/china_ip2.txt backup=yes'
备份文件的格式:带有时间标志:登录到受控机查看
[webop@blog ~]$ ls
china_ip2.txt china_ip2.txt.814.2020-04-19@11:09:53~
4,指定目标文件的权限
例:
#owner: 设置文件/目录的所属用户
#group: 设置文件/目录的所属组
#mode: 设置文件权限,使用八进制数字(如0777,0644)
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/china_ip.txt dest=/home/webop/china_ip3.txt owner=webop group=webop mode=0777'
登录到受控机查看效果:
[webop@blog ~]$ ll
-rwxrwxrwx 1 webop webop 131707 Apr 19 11:32 china_ip3.txt
5,复制一个目录:
# 源目录带/和不带/的区别:
#带/表示只复制目录下的文件
#不带/表示复制目录本身及目录下的文件
[liuhongdi@centos8 ~]$ ls work
multi-user.target.service.txt userid.csv
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/work/ dest=/home/webop/'
121.122.123.47 | CHANGED => {
"changed": true,
"dest": "/home/webop/",
"src": "/home/liuhongdi/work/"
}
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/work dest=/home/webop/work2'
121.122.123.47 | CHANGED => {
"changed": true,
"dest": "/home/webop/work2/",
"src": "/home/liuhongdi/work"
}
6,指定目标文件内容:
#content:用content代替src参数,会把文档的内容输出到指定的目标文件
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'content="abc" dest=/home/webop/china_ip4.txt'
登录到受控机查看效果
[webop@blog ~]$ more china_ip4.txt
abc
7,当目标文件存在,且内容不一致时,不替换目标文件
#force=no,则只有在目标不存在的情况下才会传输文件
[liuhongdi@centos8 ~]$ ansible yujian -m copy -a 'src=/home/liuhongdi/china_ip.txt dest=/home/webop/china_ip3.txt force=no'
三,查看ansible版本
[root@centos8 liuhongdi]# ansible --version
ansible 2.9.5
四,查看centos版本
[root@centos8 conf]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
ansible的copy模块应用(ansible 2.9.5)的更多相关文章
- Ansible的copy模块批量下发文件
copy模块的参数,ansible 主机组 -m copy -a '' src: 指定源文件或目录 dest: 指定目标服务器的文件或目录 backup: 是否要备份 owner: 拷贝到目标服务器后 ...
- Ansible Playbooks常用模块
File模块 在目标主机创建文件或目录,并赋予其系统权限 - name: create a file file:'path=/oot/foo.txt state=touch mode=0755 own ...
- ansible copy 模块的使用
copy copy 模块是将 ansible 管理主机上的文件拷贝上远程主机中,与 fetch 相反,如果目标路径不存在,则自动创建,如果 src 的目录带“/” 则复制该目录下的所有东西,如果 sr ...
- ansible copy 模块详解
ansible 模块 copy one.概述 copy 模块的作用就是拷贝文件,它与之前介绍过的 fetch 模块类似,不过,fetch 模块是从远程主机中拉取文件到 ansible 管理主机,而 c ...
- ansible小结常用模块
根据官方的分类,将模块按功能分类为:云模块.命令模块.数据库模块.文件模块.资产模块.消息模块.监控模块.网络模块.通知模块.包管理模块.源码控制模块.系统模块.单元模块.web设施模块.window ...
- ansible中常用模块详解
ansible中常用的模块详解: file模块 ansible内置的可以查看模块用法的命令如下: [root@docker5 ~]# ansible-doc -s file - name: Sets ...
- ansible经常使用模块使用方法
ansible 默认提供了非常多模块来供我们使用. 在 Linux 中,我们能够通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s ...
- 【Ansible】 各种模块
[Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和第三方拓展模块(自定义的模块).这些模块其实才是作为真实的逻辑载体,在帮助ansible进行作业. ansibl ...
- ansible api常用模块与参数
###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...
随机推荐
- db2错误代码可能的原因
一. SQL5005C运行cmd未用管理员权限打开 SQLCODE-303 数据类型不兼容 SQLCODE-305 查出的数据有NULL未处理直接写入接收变量 二.应该不会有人直接写sql用这个 ...
- 乔悟空-CTF-i春秋-Web-Backdoor
2020.09.05 每次遇到不会的,想两分钟就放弃了,直接奔wp,一看wp发现,wc,就这?我怎么没想到--心里想着下道题一定自己想,不看wp,然后周而复始
- 基于docker部署jenkins
1. 拉镜像 和其他的部署的镜像的方式一样,通常是直接使用docker search jenkins 然后直接docker pull jenkins 此时,在安装插件的时候发现插件都安装失败,提示je ...
- Group Convolution组卷积
思路按照常规卷积到组卷积来. 常规卷积: 如果输入feature map尺寸为C∗H∗W C*H*WC∗H∗W,卷积核有N NN个,输出feature map与卷积核的数量相同也是N NN,每个卷积核 ...
- pwnable.kr-coin1-witeup
是一个小游戏,会给100堆小硬币,在每堆硬币中找到假币(重量为9,其他重量为10),其中每堆硬币都设置了金币数和固定的尝试次数. 思路是:在每堆硬币中,在有限的尝试次数中对硬币通过二分法计算硬币重量不 ...
- Vue mustache语法
mustache语法 Vue中的插值语法mustache本意为胡子,可能是{{}}长得像胡子吧. 下面是对mustache插值语法一个最简单的使用. 被管理元素会通过data属性拿到其中的数据对象. ...
- Java反应式框架Reactor中的Mono和Flux
1. 前言 最近写关于响应式编程的东西有点多,很多同学反映对Flux和Mono这两个Reactor中的概念有点懵逼.但是目前Java响应式编程中我们对这两个对象的接触又最多,诸如Spring WebF ...
- 如何写出优美的 JavaScript 代码?
一.变量相关 (1)变量数量的定义 NO:滥用变量 let kpi = 4; // 定义好了之后再也没用过 function example() { var a = 1; var b = 2; var ...
- Apache HTTP Server 2.2.34安装
Windows 下载 安装方式有自己编译源码和下载别人编译好的,这里选择从第三方下载,官网地址http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/bin ...
- PADS Layout VX.2.3 灌铜之后只显示灌铜外框,没有显示整块铜皮
操作系统:Windows 10 x64 工具1:PADS Layout VX.2.3 使用Copper Pour功能,画了一个灌铜区,并分配了网络. Tools > Pour Manager,打 ...