🗂️ 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