Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ansible-copy模块

Ansible-copy模块

作者头像
星哥玩云
发布于 2022-09-15 12:47:15
发布于 2022-09-15 12:47:15
84600
代码可运行
举报
文章被收录于专栏:开源部署开源部署
运行总次数:0
代码可运行

一、copy模块(重点)

copy模块用于对文件的远程拷贝操作(如把本地的文件拷贝到远程的机器上)

https://docs.ansible.com/ansible/latest/modules/copy_module.html#copy-module

参数

说明

src

文件源路径

dest

目标路径

content

往目标文件输入内容

force

强制 yes or no

backup

是否备份有冲突的源文件[文件名相同,内容不同] yes or no

checksum

拷贝完整性校验,使用sha1sum生成校验码

owner

目标文件所有者

group

目标文件所属组

mode

目标文件权限

拷贝manage01机器/root/readme文件到group1组的机器。

  1. 要求校验完整性,注意[checksum 是根据sha1算法做校验的]
  2. 所有者、所属组都是sko
  3. 权限0400
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@manage01 ~]# sha1sum readme 
f8182e9ccdbe6efd13eb36a056a7db203fe66e40  readme
[root@manage01 ~]# ansible -m copy group1 -a "src=/root/readme dest=/opt checksum=f8182e9ccdbe6efd13eb36a056a7db203fe66e40 owner=sko group=sko mode=0400"
192.168.98.203 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "checksum": "f8182e9ccdbe6efd13eb36a056a7db203fe66e40",
    "dest": "/opt/readme",
    "gid": 1000,
    "group": "sko",
    "md5sum": "f8c2686842f9fa79361e8928867a1983",
    "mode": "0400",
    "owner": "sko",
    "size": 1214,
    "src": "/root/.ansible/tmp/ansible-tmp-1571366236.6664524-201027506158575/source",
    "state": "file",
    "uid": 1000
}
192.168.98.202 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "checksum": "f8182e9ccdbe6efd13eb36a056a7db203fe66e40",
    "dest": "/opt/readme",
    "gid": 1001,
    "group": "sko",
    "md5sum": "f8c2686842f9fa79361e8928867a1983",
    "mode": "0400",
    "owner": "sko",
    "size": 1214,
    "src": "/root/.ansible/tmp/ansible-tmp-1571366236.6522918-97522631781022/source",
    "state": "file",
    "uid": 1001
}
192.168.98.201 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "checksum": "f8182e9ccdbe6efd13eb36a056a7db203fe66e40",
    "dest": "/opt/readme",
    "gid": 1001,
    "group": "sko",
    "md5sum": "f8c2686842f9fa79361e8928867a1983",
    "mode": "0400",
    "owner": "sko",
    "size": 1214,
    "src": "/root/.ansible/tmp/ansible-tmp-1571366236.6274443-88161541412737/source",
    "state": "file",
    "uid": 1001
}

copy模块拷贝时要注意拷贝目录后面是否带"/"符号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/etc/yum.repos.d后面不带/符号,则表示把/etc/yum.repos.d整个目录拷贝到/tmp/目录下
[root@manage01 ~]# ansible group1 -m copy -a 'src=/etc/yum.repos.d dest=/tmp/'
/etc/yum.repos.d/后面带/符号,则表示把/etc/yum.repos.d/目录里的所有文件拷贝到/tmp/目录下
[root@manage01 ~]# ansible group1 -m copy -a 'src=/etc/yum.repos.d/ dest=/tmp/'

使用content参数直接往远程文件里写内容(会覆盖原内容)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@manage01 ~]# ansible -m file group1 -a "path=/tmp/zutuanxue_333 state=touch"
[root@manage01 ~]# ansible -m copy group1 -a "content='baism\nhello world\n' dest=/tmp/zutuanxue_333"
注意:ansible中-a后面的参数里也有引号时,记得要单引双引交叉使用,如果都为双引会出现问题

使用force参数控制是否强制覆盖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
如果目标文件已经存在,则不覆盖
[root@manage01 ~]# ansible group1 -m copy -a "src=/tmp/zutuanxue_222 dest=/tmp/zutuanxue_333 force=no"
如果目标文件已经存在,则会强制覆盖
[root@manage01 ~]# ansible group1 -m copy -a "src=/tmp/zutuanxue_222 dest=/tmp/zutuanxue_333 force=yes"

使用backup参数控制是否备份文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
backup=yes表示如果拷贝的文件内容与原内容不一样,则会备份一份

如果拷贝过来的文件本机存在,group1的机器上会将/tmp/333备份一份(备份文件命名加上时间),再远程拷贝新的文件为/tmp/333
[root@manage01 ~]# ansible group1 -m copy -a "src=/etc/fstab dest=/tmp/zutuanxue_333 backup=yes"

二、学习视频

视频:copy模块

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Ansible-fetch模块
https://docs.ansible.com/ansible/latest/modules/fetch_module.html#fetch-module
星哥玩云
2022/09/15
8110
Ansible-file模块
file模块用于对文件或文件夹相关的操作,主要用来设置文件、链接、目录的属性,或者移除文件、链接、目录,很多其他的模块也会包含这种作用,例如copy,assemble和template。
星哥玩云
2022/09/15
6210
Ansible-playbook剧本
playbook(剧本): 是ansible用于配置,部署,和管理被控节点的剧本。
星哥玩云
2022/09/15
6940
Ansible-playbook剧本
Ansible-yum_repository模块
https://docs.ansible.com/ansible/latest/modules/yum_repository_module.html
星哥玩云
2022/09/15
3740
Ansible-cron模块
https://docs.ansible.com/ansible/latest/modules/cron_module.html#cron-module
星哥玩云
2022/09/15
3760
Ansible自动化运维平台部署
视频:部署前准备 视频:ssh证书互信设置 视频:ansible平台部署 视频:主机列表文件hosts文件 视频:ansible自动化平台部署知识图谱
星哥玩云
2022/09/15
1.1K0
ansible中copy模块
Ansible 中的 copy 模块用于将文件或目录从本地计算机或远程主机复制到远程主机上的特定位置。它是一个功能强大的模块,可用于各种文件传输任务.
神秘泣男子
2024/04/25
3740
ansible中copy模块
Ansible-setup模块
setup模块用于收集远程主机的基本信息(如操作系统类型,主机名,ip,cpu信息,内存信息等)
星哥玩云
2022/09/15
8960
[Ansible专栏]Ansible常用模块介绍和使用 (文末抽奖)
前面我们介绍了,ansible能作为自动化配置管理,其实是由ansible的多种多样的模块来实现的。截止目前,ansible的模块已经高达3000+之多。但是个人在日常工作中,比较常见的大约20多个。下面我就大概介绍一些常见常用的模块。
没有故事的陈师傅
2022/12/06
5630
Ansible-user模块
https://docs.ansible.com/ansible/latest/modules/user_module.html#user-module
星哥玩云
2022/09/15
4270
Ansible-yum模块
https://docs.ansible.com/ansible/latest/modules/yum_module.html#yum-module
星哥玩云
2022/09/15
4480
Ansible-role
假设我们要写一个playbook来安装管理lamp环境,那么这个playbook就会写很长。所以我们希望把这个很大的文件分成多个功能拆分, 分成apache管理,php管理,mysql管理,然后在需要使用的时候直接调用就可以了,以免重复写。就类似编程里的模块化的概念,以达到代码复用的效果。
星哥玩云
2022/09/15
4000
Ansible-role
Ansible常见模块与使用方法
安装 使用extras仓库里面的最新的ansible包 ansible-2.4.1.0-1.el7.noarch /etc/ansible #配置文件目录 /etc/ansible/ansible.cfg #主配置文件 /etc/ansible/hosts #定义被管理的客户端 /etc/ansible/roles # 主程序: ansible ansible-playbook ansible-doc vim /etc/ansible
老七Linux
2018/05/31
1.4K0
centos ansible常用命令
ansible在日常运维中经常使用,特别是批量执行多台服务器的时候,有效减小重复的操作成本,以下从安装到使用仅讲解工作中常用的几种方式,模块很多功能很强大,但不做全面讨论。
钢铁知识库
2022/08/20
4560
Ansible 常用模块详细介绍
Ansible模块的学习已经是很久的事情了,今天正好周末,来图书馆整理下资料! 常用模块(module_name): ping 模块:测试连通性 [[email protected] ~]# ansible all -m ping 172.16.1.8 | SUCCESS => { "changed": false, "ping": "pong" } 172.16.1.41 | SUCCESS => { "changed": false, "ping": "pong"
老七Linux
2018/05/31
1.1K0
玩转企业常见应用与服务系列(十四):自动化运维工具 Ansible 基础入门
目前,随着IT行业的高速发展,市场上出现了一大批自动化管理工具,这些工具可以使得我们通过一台设备管理控制成千上万台不同的设备,使得我们更方便、更快捷的进行运维管理。
民工哥
2023/11/29
1.2K0
玩转企业常见应用与服务系列(十四):自动化运维工具 Ansible 基础入门
Ansible 常用模块详解
经过前面的介绍,我们已经熟悉了 Ansible 的一些常识性的东西和如何编译安装Ansible,从本章开始我们将全面介绍 Ansible 的各种生产常用模块,这些也是我们使用 Ansible 的过程中必须掌握的重点,本章将介绍和使用 Ansible 中经常使用的一些模块,大体模块分为: 文件操作类,命令执行类,系统管理类,等使我们能对 Ansible 有一个全面的了解.
王 瑞
2022/12/28
1.4K0
自动化运维实战试题
练习: 在master上配置好所有的yum源,然后拷贝到group1的远程机器上(要求目录内的内容完全一致)
张哥编程
2024/12/07
750
Ansible-group模块
https://docs.ansible.com/ansible/latest/modules/group_module.html#group-module
星哥玩云
2022/09/15
3430
Ansible基础使用
模块化:调用特定的模块,完成特定任务 基于:Paramiko,PyYAML,Jinja2 支持自定义模块 基于Python语言实现 部署简单,基于python和SSH(默认已安装),agentless 安全,基于OpenSSH 支持playbook编排任务 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况 无需代理不依赖PKI(无需ssl) 可使用任何编程语言写模块,比如:java、Golang… YAML格式,编排任务,支持丰富的数据结构 较强大的多层解决方案 1.0 基础配置操作
Yuou
2022/09/26
1.5K0
相关推荐
Ansible-fetch模块
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验