ansible 之 archive&unarchive

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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_srcyes:要解压的包在被控端、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
    

以上是关于ansible 之 archive&unarchive的主要内容,如果未能解决你的问题,请参考以下文章

自动化工具Ansible的模块之在学习

二Ansible基础之模块篇

Linux离线安装Awx

登录en Joomla desde una script externo

Ansible 中常用模块

ansible快速入门系列