如果不知道怎么安装使用的话,请看这篇:
ansible从入门到入土:带你从安装到实现“hello world
常用参数
参数名称 | 作用 |
---|---|
src | 用于指定需要copy的源文件或源目录 |
dest | 用于指定文件将被拷贝到远程主机的哪个目录中,dest为必须参数。 |
content | 当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错 |
force | 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变。 |
backup | 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机。 |
owner | 指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错 |
group | 指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。 |
mode | 指定文件拷贝到远程主机后的权限,如果你想将权限设置为”rw-r–r--“,则可以使用mode=0644表示,如果你想要在user对应的权限位上添加执行权限,则可以使用mode=u+x表示。 |
————————————————参数解析
版权声明:本文为CSDN博主「dylloveyou」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dylloveyou/article/details/80517396
实践操作
环境信息
root@node:~# cat /etc/ansible/hosts
[vm]
10.0.8.[4:5] ansible_ssh_user='root' ansible_ssh_pass='1'
开始操作
复制单个文件
ansible vm -m copy -a "src=/deb.file dest=/deb.file"
操作结果
此时,一个节点成功复制过去,一个主机不通无法成功,这是因为另一个节点并不存在
复制单个文件夹
ansible vm -m copy -a "src=./deb/ dest=/deb/"
执行结果
root@node:~# ansible vm -m copy -a "src=./deb/ dest=/deb/"
10.0.8.4 | CHANGED => {
"changed": true,
"dest": "/deb/",
"src": "/root/./deb/"
}
10.0.8.5 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 10.0.8.5 port 22: No route to host",
"unreachable": true
}
只复制给主机清单中的一个主机
ansible '10.0.8.4' -m copy -a "src=./deb/ dest=/deb/de"
单主机必须在hosts清单列表内,否则会失败
此模块大致内容就到这了