一,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)的更多相关文章

  1. Ansible的copy模块批量下发文件

    copy模块的参数,ansible 主机组 -m copy -a '' src: 指定源文件或目录 dest: 指定目标服务器的文件或目录 backup: 是否要备份 owner: 拷贝到目标服务器后 ...

  2. Ansible Playbooks常用模块

    File模块 在目标主机创建文件或目录,并赋予其系统权限 - name: create a file file:'path=/oot/foo.txt state=touch mode=0755 own ...

  3. ansible copy 模块的使用

    copy copy 模块是将 ansible 管理主机上的文件拷贝上远程主机中,与 fetch 相反,如果目标路径不存在,则自动创建,如果 src 的目录带“/” 则复制该目录下的所有东西,如果 sr ...

  4. ansible copy 模块详解

    ansible 模块 copy one.概述 copy 模块的作用就是拷贝文件,它与之前介绍过的 fetch 模块类似,不过,fetch 模块是从远程主机中拉取文件到 ansible 管理主机,而 c ...

  5. ansible小结常用模块

    根据官方的分类,将模块按功能分类为:云模块.命令模块.数据库模块.文件模块.资产模块.消息模块.监控模块.网络模块.通知模块.包管理模块.源码控制模块.系统模块.单元模块.web设施模块.window ...

  6. ansible中常用模块详解

    ansible中常用的模块详解: file模块 ansible内置的可以查看模块用法的命令如下: [root@docker5 ~]# ansible-doc -s file - name: Sets ...

  7. ansible经常使用模块使用方法

    ansible 默认提供了非常多模块来供我们使用. 在 Linux 中,我们能够通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc  -s ...

  8. 【Ansible】 各种模块

    [Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和第三方拓展模块(自定义的模块).这些模块其实才是作为真实的逻辑载体,在帮助ansible进行作业. ansibl ...

  9. ansible api常用模块与参数

    ###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...

随机推荐

  1. loadrunner做http接口的性能测试

    不用录制脚本的方法 步骤: 1.先打开Virtual User Generator——选择Web/HTTP协议,进入到主页面,这里不按照传统录脚本的方式输入url,所以直接叉掉录制脚本选项,进入下面的 ...

  2. Spring boot +Thymeleaf 搭建springweb

    对接天猫精灵的时候需要有网关服务器方提供几个页面,服务器已经有了,spring boot的 纯后台的,就加了Thymeleaf   jar包添加几个页面跳转 maven配置 <!-- 引入thy ...

  3. hystrix源码小贴士之Servo Publisher

    HystrixServoMetricsPublisher 继承HystrixMetricsPublisher,创建HystrixServoMetricsPublisherCommand.Hystrix ...

  4. 005.操作系统及Linux系统,虚拟机的作用和发展历史

    操作系统及其作用 操作系统发展史 Linux系统 虚拟机 操作系统 操作系统 操作系统的作用 不同领域的主流操作系统 操作系统(Operation System,OS) 操作系统作为接口的示意图 没有 ...

  5. kafka学习(三)kafka生产者,消费者详解

    文章更新时间:2020/06/14 一.生产者 当我们发送消息之前,先问几个问题:每条消息都是很关键且不能容忍丢失么?偶尔重复消息可以么?我们关注的是消息延迟还是写入消息的吞吐量? 举个例子,有一个信 ...

  6. Java基础一篇过(六)Java8--lambda表达式

    一.简介 lambda表达式是Java8的一个重要特性,也可以称为闭包,常用于配合Java8的Stream对集合元素进行操作,使得代码更简介紧凑. 二.代码解析 虽说lambda表达式是一个新的特性, ...

  7. SpringBoot普通消息队列线程池配置

    1 package com.liuhuan.study.config; 2 3 import com.google.common.util.concurrent.ThreadFactoryBuilde ...

  8. shiro-重写标签功能----shiro:hasPermission 标签重写

    public abstract class ShiroAuthorizingRealm extends AuthorizingRealm{ private static final String OR ...

  9. 使用jpa的注意事项

    @Transactional 事务注解 nativeQuery = true表示使用写的sql,不是HQL@Modifying 注解完成修改操作使用jap时,在实体类的类名上面加上 @Entity@T ...

  10. Spring Boot 第一弹,问候一下世界!!!

    持续原创输出,点击上方蓝字关注我吧 目录 前言 什么是Spring Boot? 如何搭建一个Spring Boot项目? 第一个程序 Hello World 依赖解读 什么是配置文件? 什么是启动类? ...