功能:解包解压缩
有两种实现方法:
主要差异为压缩包所在位置不同,一个是在 ansible 主控端上,一个是在远程主机上
ansible
主机上的压缩包传到远程主机后解压缩至特定目录,使用 copy=yes
参数copy=no
参数常见参数:
参数 | 说明 |
---|---|
creates | 在创建一个文件之前,先判断文件是否存在,如果存在则跳过前面的东西,如果不存在则执行前面的动作 |
copy | 默认为 copy=yes ,拷贝的文件从 ansible 主机复制到远程主机,copy=no 表示在远程主机上寻找src源文件解压 |
src | tar 源路径,可以是 ansible 主机上的路径,也可以是远程主机上的路径,如果是远程主机上的路径,则需设置 copy=no |
dest | 远程主机上的目标绝对路径 |
mode | 设置解压缩后的文件权限 |
exec | 列出需要排除的目录和文件 |
remote_src | 和 copy 功能一样且互斥,设置 remote_src=yes 表示文件在远程主机上,设置为 remote_src=no 表示文件在 ansible 主机上 。对于Windows目标,改用win_unzip模块。 |
owner | 解压后文件或目录的属主 |
group | 解压后的目录或文件的属组 |
示例:
[root@master ~]# ansible dong -m unarchive -a "src=/root/yml.tar.gz dest=/root owner=dong group=dong"
或者
[root@master ~]# ansible dong -m unarchive -a "src=/root/yml.tar.gz dest=/root owner=dong group=dong remote_src=no"
copy=no
)[root@master ~]# ansible dong -m unarchive -a "src=/root/yml.tar.gz dest=/root copy=no"
或者
[root@master ~]# ansible dong -m unarchive -a "src=/root/yml.tar.gz dest=/ remote_src=yes"