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.

相关推荐
CS_浮鱼17 分钟前
【Linux】进程间通信
linux·运维·数据库
Altair123117 分钟前
实验6 基于端口和域名的虚拟主机
linux·运维·服务器·云计算
爱和冰阔落21 分钟前
【Linux工具链】编译效率革命:条件编译优化+动静态库管理+Makefile自动化,解决多场景开发痛点
linux·运维·自动化
wa的一声哭了27 分钟前
WeBASE管理平台部署-WeBASE-Web
linux·前端·网络·arm开发·spring boot·架构·区块链
Shylock_Mister1 小时前
ARM与x86交叉编译实战排错指南
linux·c语言·arm开发
敲上瘾1 小时前
MySQL事务全攻略:ACID特性、隔离级别与并发控制
linux·数据库·mysql·安全
b***9101 小时前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
shizhan_cloud1 小时前
Linux 交换空间管理
linux·运维
YouEmbedded1 小时前
解码死锁的产生与解决
linux·避免死锁·死锁产生·预防死锁·处理死锁
果子没有六分钟2 小时前
【Linux】进程调度器
linux·运维·服务器