🗂️ Módulo: archive
🇪🇸 Descripción
El módulo archive permite comprimir, descomprimir y extraer archivos en remoto utilizando formatos estándar como tar, zip, gzip y bzip2. Es útil para empaquetar logs, desplegar recursos, realizar backups o extraer ficheros específicos desde archivos existentes.
La ejecución se realiza vía SSH y puede usar sudo si se requiere (become=true). El módulo es compatible con extracción selectiva y crea automáticamente el directorio destino si no existe.
🧩 Argumentos disponibles
| Clave | Descripción |
|---|---|
action |
Acción a realizar: compress, decompress, extract |
format |
Formato de archivo: tar, zip, gzip, bzip2 |
files |
Lista de ficheros a comprimir o extraer (separados por coma) |
output |
Ruta de salida para el archivo comprimido (solo en compress) |
archive |
Ruta del archivo a descomprimir o extraer |
dest |
Directorio destino para extracción o descompresión |
become |
Si se requiere sudo, usar become=true |
▶️ Ejemplos de uso
📦 Comprimir ficheros en formato tar.gz
tasks:
- name: Comprimir logs en tar.gz
module: archive
args:
action: compress
format: tar
files: /var/log/syslog,/var/log/auth.log
output: /tmp/logs.tar.gz
become: true🗂️ Extraer un fichero específico desde tar.gz
tasks:
- name: Extraer solo boot.log desde logs.tar.gz
module: archive
args:
action: extract
format: tar
archive: /tmp/logs.tar.gz
dest: /tmp/extraccion/
files: var/log/boot.log
become: true🔓 Descomprimir archivo gzip
tasks:
- name: Descomprimir archivo de configuración
module: archive
args:
action: decompress
format: gzip
archive: /tmp/config.conf.gz
dest: /tmp/🧠 Trazas esperadas (--debug)
📦 [archive] Comprimido en TAR: /tmp/logs.tar.gz
📂 [archive] Extraído TAR en: /tmp/extraccion/
📂 [archive] Descomprimido GZIP: /tmp/config.conf.gz
❌ [archive] Formato 'rar' no soportado para extracción.📜 Changelog
Consulta el historial de cambios en changelog/archive.md