Ansible常用模块用法 unarchive 模块
unarchive 模块
功能:解包解压缩
实现有两种用法:
1、将ansible主机上的压缩包传到远程主机后解压缩至特定目录,设置copy=yes
2、将远程主机上的某个压缩包解压缩到指定路径下,设置copy=no (此情况是该主机已拥有压缩包情况下,只解压到指定路径)
ps:有点类似dockerfile 的ADD指令也是将文件拷贝之后自动解压。
常见参数:
copy:默认为yes,当copy=yes,拷贝的文件是从ansible主机复制到远程主机上,如果设置为copy=no,
会在远程主机上寻找src源文件
remote_src:和copy功能一样且互斥,yes表示在远程主机,不在ansible主机,no表示文件在ansible
主机上
src:源路径,可以是ansible主机上的路径,也可以是远程主机(被管理端或者第三方主机)上的路径,如果
是远程主机上的路径,则需要设置copy=no
dest:远程主机上的目标路径
mode:设置解压缩后的文件权限
1.###从ansible复制压缩包到远程主机并自动解压
ansible webservers -m unarchive -a 'src=/root/nginx-1.20.1.tar.gz dest=/data/nginx-1.20.1'
2.###解压远程主机已有的压缩包到指定目录
ansible webservers -m unarchive -a 'src=/data/nginx.tar.gz dest=/opt copy=no'
3.###总结:基于远程主机的解压,解压后src不会消失,解压出来的文件也许会与压缩包名以及时间戳不一致。
posted on 2021-05-29 21:20 1251618589 阅读(43) 评论(0) 收藏 举报


浙公网安备 33010602011771号