当前位置: 首页 > news >正文

Ansible模块——从控制节点向目标主机复制文件!

复制文件或字符串到被控主机的指定位置

ansible.builtin.copy:复制文件到被控主机指定位置,也可以将字符串写入文件(覆盖)。

选项

类型

默认值

描述

attributesstrnull

设置目标文件的额外属性,如 immutable 等。

backupboolfalse

如果目标存在,操作前创建备份文件。

checksumstrnull

用来验证源文件内容的一致性的 SHA1 校验值。

contentstrnull

直接指定要写入文件的文本内容(不从 src 读取)。

decryptbooltrue

如果 src 是加密的 vault 文件,是否解密。

destpathnull目标路径

,必须指定。

directory_modestrnull

如果递归复制目录时(目标目录不存在),目录使用的权限模式。

followboolfalse

如果目标中存在文件系统链接,则应遵循该链接。

forcebooltrue

如果目标存在且不同,是否强制覆盖。

groupstrnull

设置目标文件的属组。

local_followboolfalse

控制在 local(控制机)上的源文件是否跟随符号链接。

modestrnull

设置目标文件权限(比如 06440755)。

ownerstrnull

设置目标文件的属主。

remote_srcboolnotrue

 时表示 src 是目标机器上的路径,不从控制机复制。

selevelstrnull

设置 SELinux 的 level 属性。通常不需要。

serolestrnull

设置 SELinux 的 role 属性。

setypestrnull

设置 SELinux 的 type 属性。

seuserstrnull

设置 SELinux 的 user 属性。

srcpathnull

源文件路径(在控制机或者远程主机,根据 remote_src)。

unsafe_writesboolfalse

允许以不安全的方式写入文件,提升性能(但可能有风险,比如写一半被打断)。

validatestrnull

在复制文件之前执行指定的验证命令,验证命令的返回值决定是否继续执行文件复制。如果命令返回非零状态,复制操作将失败。(s% 表示源文件,命令不支持管道符、重定向等 Shell 高级功能)

常用选项:

选项

类型

默认值

描述

backupboolfalse

如果目标存在,操作前创建备份文件。

contentstrnull

直接指定要写入文件的文本内容(不从 src 读取)。

destpathnull目标路径

,必须指定。

directory_modestrnull

如果递归复制目录时(目标目录不存在),目录使用的权限模式。

followboolfalse

如果目标中存在文件系统链接,则应遵循该链接。

forcebooltrue

如果目标存在且不同,是否强制覆盖。

groupstrnull

设置目标文件的属组。

local_followboolfalse

控制在 local(控制机)上的源文件是否跟随符号链接。

modestrnull

设置目标文件权限(比如 06440755)。

ownerstrnull

设置目标文件的属主。

remote_srcboolfalsetrue

 时表示 src 是目标机器上的路径,不从控制机复制。

srcpathnull

源文件路径(在控制机或者远程主机,根据 remote_src)。

validatestrnull

在复制文件之前执行指定的验证命令,验证命令的返回值决定是否继续执行文件复制。如果命令返回非零状态,复制操作将失败。(s% 表示源文件,命令不支持管道符、重定向等 Shell 高级功能)

- name: Copy file with owner and permissionsansible.builtin.copy:src: /srv/myfiles/foo.confdest: /etc/foo.confowner: foogroup: foomode: '0644'- name: Another symbolic mode example, adding some permissions and removing othersansible.builtin.copy:src: /srv/myfiles/foo.confdest: /etc/foo.confowner: foogroup: foomode: u+rw,g-wx,o-rwx- name: Copy a new "ntp.conf" file into place, backing up the original if it differs from the copied versionansible.builtin.copy:src: /mine/ntp.confdest: /etc/ntp.confowner: rootgroup: rootmode: '0644'backup: yes- name: Copy a "sudoers" file on the remote machine for editingansible.builtin.copy:src: /etc/sudoersdest: /etc/sudoers.editremote_src: yesvalidate: /usr/sbin/visudo -csf %s- name: Copy using inline contentansible.builtin.copy:content: '# This file was moved to /etc/other.conf'dest: /etc/mine.conf- name: If follow=yes, /path/to/file will be overwritten by contents of foo.confansible.builtin.copy:src: /etc/foo.confdest: /path/to/link  # link to /path/to/filefollow: yes- name: If follow=no, /path/to/link will become a file and be overwritten by contents of foo.confansible.builtin.copy:src: /etc/foo.confdest: /path/to/link  # link to /path/to/filefollow: no

复制模板文件到被控节点指定位置

ansible.builtin.template:复制 Jinja2 模板文件到被控节点指定位置。

参数名

类型

默认值

描述

attributesstrnull

设置目标文件的文件属性字符串,如 +x(类似 chmod 的符号格式)。

backupboolfalse

如果目标文件发生变化,则备份原文件。

block_start_stringstr{%

Jinja2 块开始标识符(高级定制)。

block_end_stringstr%}

Jinja2 块结束标识符(高级定制)。

comment_start_stringstr{#

Jinja2 注释开始标识符。

comment_end_stringstr#}

Jinja2 注释结束标识符。

destpathnull

模板渲染后复制到受控节点的路径。

followboolfalse

是否跟随软链接,false 表示源文件替换软链接,true 表示源文件替换软链接指向的文件。

forcebooltrue

如果目标文件存在且不同,是否强制覆盖。

groupstrnull

设置目标文件的属组。

lstrip_blocksboolfalse

去除 Jinja2 块标签前的空格。

modestrnull

设置目标文件的权限,如 "0644"

newline_sequencestr\n

设置模板渲染后的换行符(\n\r 或 \r\n 等)。

output_encodingstrutf-8

输出文件编码。

ownerstrnull

设置目标文件的属主。

selevelstrnull

SELinux 等级。

serolestrnull

SELinux 角色。

setypestrnull

SELinux 类型。

seuserstrnull

SELinux 用户。

srcpathnull

本地模板文件的路径(相对于 templates/ 目录)。

trim_blocksboolfalse

控制是否移除 Jinja2 块之间的换行符。

unsafe_writesboolfalse

避免临时文件写法,某些情况下可以避免某些文件系统的问题。

validatestrnull

在替换目标文件前执行的验证命令(如 nginx -t -c %s)。

variable_start_stringstr{{

Jinja2 变量开始标识符。

variable_end_stringstr}}

Jinja2 变量结束标识符。

常用选项:

参数名

类型

默认值

描述

backupboolfalse

如果目标文件发生变化,则备份原文件。

comment_start_stringstr{#

Jinja2 注释开始标识符。

comment_end_stringstr#}

Jinja2 注释结束标识符。

destpathnull

模板渲染后复制到受控节点的路径。

followboolfalse

是否跟随软链接,false 表示源文件替换软链接,true 表示源文件替换软链接指向的文件。

forcebooltrue

如果目标文件存在且不同,是否强制覆盖。

groupstrnull

设置目标文件的属组。

modestrnull

设置目标文件的权限,如 "0644"

ownerstrnull

设置目标文件的属主。

srcpathnull

本地模板文件的路径。

validatestrnull

在替换目标文件前执行的验证命令(如 nginx -t -c %s)。

- name: Template a file to /etc/file.confansible.builtin.template:src: /mytemplates/foo.j2dest: /etc/file.confowner: bingroup: wheelmode: '0644'- name: Template a file, using symbolic modes (equivalent to 0644)ansible.builtin.template:src: /mytemplates/foo.j2dest: /etc/file.confowner: bingroup: wheelmode: u=rw,g=r,o=r- name: Create a DOS-style text file from a templateansible.builtin.template:src: config.ini.j2dest: /share/windows/config.ininewline_sequence: '\r\n'- name: Copy a new sudoers file into place, after passing validation with visudoansible.builtin.template:src: /mine/sudoersdest: /etc/sudoersvalidate: /usr/sbin/visudo -cf %s- name: Update sshd configuration safely, avoid locking yourself outansible.builtin.template:src: etc/ssh/sshd_config.j2dest: /etc/ssh/sshd_configowner: rootgroup: rootmode: '0600'validate: /usr/sbin/sshd -t -f %sbackup: yes

ansible.builtin.template 要配合 jinja2 使用,找时间写一下如何利用 ansible.builtin.template 配合 jinja2 复制文件。

相关文章:

  • 软考错题集
  • 使用互斥锁保护临界
  • (51单片机)LCD显示红外遥控相关数字(Delay延时函数)(LCD1602教程)(Int0和Timer0外部中断教程)(IR红外遥控模块教程)
  • Spring Cloud -3( 9000 字详解 Spring Cloud)
  • LVGL对象的盒子模型和样式
  • 大模型中的三角位置编码实现
  • WinCC V7.2到V8.0与S71200/1500系列连接通讯教程以及避坑点
  • C++学习之模板初阶学习
  • 数据治理框架在企业中的落地:从理念到实践
  • 第三章 Freertos智能小车遥控控制
  • 互联网大厂Java面试实录:Spring Boot与微服务架构在电商场景中的应用解析
  • 21.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--身份认证服务拆分规划
  • diy装机成功录
  • C++ learning day 02
  • day010-命令实战练习题
  • 第一个SpringBoot程序
  • 软考中级数据库备考-上午篇
  • Spark的三种部署模式及其特点与区别
  • Autoware播放提示音
  • 基于Spring Boot + Vue的高校心理教育辅导系统
  • 时代中国控股:前4个月销售额18.1亿元,境外债重组协议押后聆讯至5月底
  • 婚姻登记“全国通办”首日,上海虹口登记中心迎来“甜蜜高峰”
  • 新修订的《婚姻登记条例》明起施行,领证不用户口本了
  • 长江画派创始人之一、美术家鲁慕迅逝世,享年98岁
  • 心相印回应官方旗舰店客服辱骂消费者:正排查
  • 市自规局公告收回新校区建设用地,宿迁学院:需变更建设主体