Ansible系列(9) Copy模块

本文深入解析Ansible中copy模块的功能与用法,包括如何使用src和dest参数进行文件复制,以及各种常用参数如backup、follow、force等的详细说明。通过多个案例展示模块的应用场景,帮助用户掌握高效文件复制技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

copy模块

copy模块在ansible里的角色就是把ansible执行机器上的文件拷贝到远程节点上。
与fetch模块相反的操作。

常用模块参数

参数名是否必须默认值选项说明
srcno用于定位ansible执行的机器上的文件,需要绝对路径。如果拷贝的是文件夹,那么文件夹会整体拷贝,如果结尾是”/”,那么只有文件夹内的东西被考过去。一切的感觉很像rsync
contentno用来替代src,用于将指定文件的内容,拷贝到远程文件内
destyes用于定位远程节点上的文件,需要绝对路径。如果src指向的是文件夹,这个参数也必须是指向文件夹
backupnonoyes/no备份远程节点上的原始文件,在拷贝之前。如果发生什么意外,原始文件还能使用。
directory_modeno这个参数只能用于拷贝文件夹时候,这个设定后,文件夹内新建的文件会被拷贝。而老旧的不会被拷贝
follownonoyes/no当拷贝的文件夹内有link存在的时候,那么拷贝过去的也会有link
forcenoyesyes/no默认为yes,会覆盖远程的内容不一样的文件(可能文件名一样)。如果是no,就不会拷贝文件,如果远程有这个文件
groupno设定一个群组拥有拷贝到远程节点的文件权限
modeno等同于chmod,参数可以为“u+rwx or u=rw,g=r,o=r”
ownerno设定一个用户拥有拷贝到远程节点的文件权限

案例

# 把/srv/myfiles/foo.conf文件拷贝到远程节点/etc/foo.conf,并且它的拥有者是foo,拥有它的群组是foo,权限是0644
- copy: src=/srv/myfiles/foo.conf dest=/etc/foo.conf owner=foo group=foo mode=0644

# 跟上面的案例一样,不一样的只是权限的写法
- copy: src=/srv/myfiles/foo.conf dest=/etc/foo.conf owner=foo group=foo mode="u=rw,g=r,o=r"

# 另外一个权限的写法
- copy: src=/srv/myfiles/foo.conf dest=/etc/foo.conf owner=foo group=foo mode="u+rw,g-wx,o-rwx"

# 拷贝/mine/ntp.conf到远程节点/etc/ntp.conf,并且备份远程节点的/etc/ntp.conf。
- copy: src=/mine/ntp.conf dest=/etc/ntp.conf owner=root group=root mode=644 backup=yes

常用参数返回值

参数名参数说明返回值返回值类型样例
src位于ansible执行机上的位置changedstring/home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source
backup_file将原文件备份changed and if backup=yesstring/path/to/file.txt.2015-02-12@22:09~
uid在执行后,拥有者的IDsuccessint100
dest远程节点的目标目录或文件successstring/path/to/file.txt
checksum拷贝文件后的checksum值successstring6e642bb8dd5c2e027bf21dd923337cbb4214f827
md5sum拷贝文件后的md5 checksum值when supportedstring2a5aeecc61dc98c4d780b14b330e3282
state执行后的状态successstringfile
gid执行后拥有文件夹、文件的群组IDsuccessint100
mode执行后文件的权限successstring0644
owner执行后文件所有者的名字successstringhttpd
group执行后文件所有群组的名字successstringhttpd
size执行后文件大小successint1220

今天的这个模块有点多,看明白没?下一次会有简单的案例了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值