ansible archive模块

用于创建归档文件的模块。它允许你在目标主机上创建tar、zip、gzip、bzip2、xz等类型的归档文件。解压使用unarchive模块。

  • path:要打包的源目录或文件的路径。(可以是单个文件或目录,也可以是包含多个文件和目录的列表。)
  • dest:要创建的归档文件的路径和名称。
  • format:归档文件的格式,可以是tar、zip、gzip、bzip2或xz。
  • mode:指定归档文件的权限模式。
  • owner:指定归档文件的所有者。
  • group:指定归档文件的所属组。
  • extra_opts:包含任意其他选项的字符串。
  • unique:当设置为 yes 时,如果目标归档文件已存在且内容相同,则不会重新创建归档。这对于避免不必要的工作很有用。默认为 no
  • remove:如果设置为 yes,归档操作后会删除原始文件或目录。默认为 no
  • exclude: 指定要从归档中排除的文件或目录列表。

压缩客户机(管理节点主机的的文件或目录)

压缩客户机(管理节点)的文件或目录只需要添加remote_src=yes即可。

创建tar格式的归档文件

复制代码
ansible 192.168.20.23 -m archive -a 'path=/var/log dest=/opt/var_log_backup.tar format=tar'

这个命令会在远程主机192.168.20.23上将 /var/log 目录打包成一个名为 var_log_backup.tar 的tar归档文件,并存放在 /opt 目录下。

创建gzip压缩的tar归档文件(.tar.gz)

复制代码
ansible 192.168.20.23 -m archive -a 'path=/var/log dest=/opt/var_log_backup.tar.gz format=gz'

这将会把 /var/log 目录压缩成gzip格式的tar文件 var_log_backup.tar.gz

创建bzip2压缩的tar归档文件(.tar.bz2)

复制代码
ansible 192.168.20.23 -m archive -a 'path=/var/log dest=/opt/var_log_backup.tar.bz2 format=bz2'

此命令会创建一个bzip2压缩的tar文件,文件名是 var_log_backup.tar.bz2

设置归档文件的权限和所有者

复制代码
ansible 192.168.20.23 -m archive -a 'path=/etc/yum.repos.d dest=/backup/yum_repos_backup.tar.gz format=gz owner=root group=wheel mode=0644'

此命令不仅创建了一个gzip压缩的tar文件,还设置了归档文件的所有者为 root,所属组为 wheel,以及权限为 0644

排除特定文件或目录

复制代码
ansible 192.168.20.23 -m archive -a 'path=/var/www/html dest=/backups/html_backup.tar.gz format=gz exclude=html_backup.tar.gz exclude=log'

这个命令在创建归档文件时,会排除名为 html_backup.tar.gz 的文件和任何名为 log 的目录。

创建zip压缩的tar归档文件(.tar.zip)

bash 复制代码
ansible jingyu -m archive -a "path=/csdn dest=/csdn.tar.zip format=zip"

压缩jingyu主机 / 跟下的csdn目录 到 / 根下名称叫csdn.tar.zip 压缩格式为format=zip。

创建xz压缩的tar归档文件(.tar.xz)

使用xz格式在客户端需要下载使用python-backports-lzma

bash 复制代码
yum -y install python-backports-lzma

可能会让下载python-backports

bash 复制代码
yum -y install python-backports
bash 复制代码
ansible jingyu -m archive -a "path=/csdn dest=/csdn.tar.xz format=xz"

在jingyu组中 压缩 / 根下的csdn目录 到 / 根下叫csdn.tar.xz 名称 压缩格式为xz.

相关推荐
唯独失去了从容34 分钟前
WebRTC服务器Coturn服务器的管理平台功能
运维·服务器·webrtc
roman_日积跬步-终至千里3 小时前
【K8s基础】K8s下的Helm和Operator:包管理器与运维程序化
运维·容器·kubernetes
PassLink_5 小时前
[Kaggle]:使用Kaggle服务器训练YOLOv5模型 (白嫖服务器)
运维·服务器·yolo
极小狐6 小时前
极狐GitLab 合并请求依赖如何解决?
运维·git·ssh·gitlab·github
程序猿(雷霆之王)6 小时前
Linux——进程间通信
linux·运维·服务器
riveting7 小时前
SD2351核心板:重构AI视觉产业价值链的“超级节点”
大数据·linux·图像处理·人工智能·重构·智能硬件
易保山7 小时前
MIT6.S081 - Lab10 mmap(文件&内存映射)
linux·操作系统·c
禅与Bug的修复艺术8 小时前
JAVA后端开发常用的LINUX命令总结
java·linux·面试·java面试·后端开发·java后端·面试经验
Cloud_Air7548 小时前
从零开始使用SSH链接目标主机(包括Github添加SSH验证,主机连接远程机SSH验证)
运维·ssh
Hello.Reader9 小时前
基于 Nginx 的 WebSocket 反向代理实践
运维·websocket·nginx