ansible(17)--ansible的archive和unarchive模块
1. archive模块
功能:在远端主机打包与压缩;
主要参数如下:
参数 | 说明 |
---|---|
path | 要压缩的文件或目录 |
dest | 压缩后的文件 |
format | 指定打包压缩的类型:bz2、gz、tar、xz、zip |
-
示例一:将
/var/log
目录压缩为tar.gz
格式,并存储至/opt
目录下;[root@xuzhichao ~]# ansible 192.168.20.23 -m archive -a 'path=/var/log dest=/opt/log.tar.gz format=gz' [root@nginx03 ~]# ll /opt total 692 -rw-r--r-- 1 root root 705807 Aug 2 15:22 log.tar.gz
2. unarchive模块
功能:在远端主机解包与解压缩;
主要参数如下:
参数 | 说明 |
---|---|
src | 要解压的软件包路径 |
dest | 解压到目标位置,需要是一个目录 |
remote_src | yes:要解压的包在被控端、no:要解压的包在控制端 |
owner | 文件复制到远程并设定属主,默认为root |
group | 文件复制到远程并设定属组,默认为root |
mode | 文件复制到远程并设定权限,默认file=644,directory=755 |
-
示例一:把压缩包推送到被控端,在被控端主机解压缩:
#把压缩包拷贝到远端主机: [root@xuzhichao ~]# ansible 192.168.20.23 -m copy -a 'src=/root/nginx-1.20.1.tar.gz dest=/tmp/' #在远端主机解压缩: [root@xuzhichao ~]# ansible 192.168.20.23 -m copy -a 'src=/tmp/nginx-1.20.1.tar.gz dest=/tmp/nginx-1.20.1 remote_src=yes'
-
示例二:压缩包在
ansible
主机上,直接解压到被控主机:[root@xuzhichao ~]# ansible 192.168.20.23 -m unarchive -a 'src=/root/nginx-1.20.1.tar.gz dest=/tmp/' [root@nginx03 ~]# ll /tmp/ total 0 drwxr-xr-x 8 xu1 xu1 158 May 25 20:35 nginx-1.20.1