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.

相关推荐
xlp666hub3 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
张宏2364 小时前
原子操作 (基于Linux 应用层 C 语言)
linux
kymjs张涛19 小时前
OpenClaw 学习小组:初识
android·linux·人工智能
程序设计实验室21 小时前
经历分享,发现挖矿木马后,服务器快速备份与重装(腾讯云平台)
linux
Miku161 天前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·人工智能·agent
Miku161 天前
OpenClaw 接入 QQ Bot 完整实践指南
linux·人工智能·agent
Yogurt_cry1 天前
[树莓派4B] 闲置近10年的爱普生 L310 打印机爆改无线打印机
linux·物联网·树莓派
爱吃橘子橙子柚子2 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
Johny_Zhao2 天前
OpenClaw中级到高级教程
linux·人工智能·信息安全·kubernetes·云计算·yum源·系统运维·openclaw
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker