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 #用于管理变量的类,包括 ...
随机推荐
- 面向对象--有参数的__init__方法
有参数的__init__()方法 class Hero(object): """定义了一个英雄类,可以移动和攻击""" def __init ...
- Beauty Contest(POJ 2187)
原题如下: Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 42961 Accepted: ...
- 乔悟空-CTF-i春秋-Web-Not Found-🙋🏻♂️
2020.09.08 又是匆匆忙忙的一天- 做题 题目 题目地址 做题 做题??做个屁,啥也不知道,干瞪眼
- SpringMVC-12-SSM回顾与总结
12.SSM回顾与总结
- SSM框架整合核心内容
所需要的jar包及其版本 Spring 版本:4.3.18 tx.aop.beans.core.web.web-mvc.context.expression.jdbc MyBatis:3.4.6 ...
- 提权 EXP
windows: 漏洞列表 #Security Bulletin #KB #Description #Operating System CVE-2017-0213 [Windows COM Eleva ...
- 基于SpringBoot+SpringDataJpa后台管理
昨天朋友找我喝酒,说30岁了,比较焦虑,钱没赚到,整天被媳妇数落. 其实现在我们看到的不一定就事真实的情况,就算从高斯分布看,平平淡淡的人生才是大部分人的轨迹.当然抖音.知乎上的不能比,人均收入百万, ...
- 项目启动加载配置,以及IP黑名单,使用CommandLineRunner和ApplicationRunner来实现(一般用在网关进行拦截黑名单)
//使用2个类的run方法都可以在项目启动时加载配置,唯一不同的是他们的参数不一样,CommandLineRunner的run方法参数是基本类型,ApplicationRunner的run方法参数是一 ...
- 使用内置对象Math.random实现猜数字游戏
function getRandom(min,max){ return Math.floor(Math.random()*(max-min+1))+min; //得到两个数之间的随机整数,包含实 ...
- Python-函数式编程-map reduce filter lambda 三元表达式 闭包
lambda 匿名函数,核心是作为算子,处理逻辑只有一行但具有函数的特性,核心用于函数式编程中 三元运算符 其实本质上是if分支的简化版,满足条件返回 if 前面的值,不满足条件返回 else后面的值 ...