Ansible常用模块之解包模块
解包模块unarchive
作用:
- 将ansible主机上的压缩包在本地解压缩后传到远程主机上,默认设置为copy=yes,
- 将远程主机上的某个压缩包解压缩到指定路径下,需设置copy=no
参数
[root@ljc ansible]# ansible-doc -s unarchive
- name: Unpacks an archive after (optionally) copying it from the local machine.
action: unarchive
creates # 如果指定的文件存在则不执行该任务。可用于实现幂等性
dest= # 远程机器上需要被解包的归档文件,要求是绝对路径
exclude # 列出解包过程中想要忽略的目录和文件
group # 文件/目录的所属组
owner # 文件/目录的所有者
mode # 设置文件/目录的的权限,支持'0644'或'u+rwx'或'u=rw,g=r,o=r'等格式
keep_newer # 在解包过程中,如果目标路径中和包中有同名文件,且比包中的文件更新,则保留新的文件
list_files # 设置为true时,将返回归档文件中的文件列表
remote_src # 设置为yes表示远程主机上已有目标归档文件,即不再从本地复制归档文件到远端,直接在远端解包。
src= # 指定源文件路径 默认为no # 如果remote_src=no,将复制本地归档文件到远端,可相对路径也可绝对路径.
# 如果remote_src=yes, 将解包远程已存在的归档文件
# 如果remote_src=yes且src中包含了"://",将指挥远程主机从url中下载文件并解包
用法示例
#解压远程主机src路径下的包,解压至/opt/下,并将解压出来的文件属组和属主改为jiii
[root@ljc project1]# ansible web -m unarchive -a 'src=/usr/share/nginx/html/WeCenter_3-2-1.zip copy=no dest=/opt/ group=jiii owner=jiii'
查看确认
[root@web7 html]# ll /opt/
total 4528
drwx------ 14 jiii jiii 296 Jun 13 21:55 WeCenter_3-2-1
#解压本地管理机src路径下的包,解压至/opt/t下,并将解压出来的文件属组和属主改为jiii
[root@ljc project1]# ansible web -m unarchive -a 'src=/root/project1/phpMyAdmin-4.8.4-all-languages.zip dest=/opt/t group=jiii owner=jiii'
查看确认
[root@web7 html]# ll /opt/
total 4536
drwxr-xr-x 12 jiii jiii 4096 Dec 10 2018 phpMyAdmin-4.8.4-all-languages
发表评论