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
    
posted @ 2021-08-18 17:06  向往自由的独行者  阅读(3181)  评论(0编辑  收藏  举报