Compresiones y transfererencia
Capítulo 4
1. Gestión de Archivos Comprimidos
Los archivos comprimidos son como cajas que almacenan múltiples archivos en un espacio reducido. En Linux, el comando tar es la herramienta principal para crear y gestionar estos “paquetes” de archivos.
Ejemplo Práctico:
-
Crear un archivo comprimido
tar -czf backup.tar.gz /ruta/directorioc: Crear nuevo archivoz: Comprimir con gzipf: Especificar nombre del archivo
-
Listar contenido del archivo tar
tar -tvf backup.tar.gzt: Mostrar contenidov: Modo verbose (detallado)f: Especificar archivo
-
Extraer archivos
tar -xzf backup.tar.gzx: Extraer contenidoz: Descomprimir archivo gzipf: Especificar archivo a extraer
Existe otra opción para comprimir archivos con el comando zip:
-
Crear archivo
zip -r backup.zip /ruta/directorio-r: Incluir subdirectorios recursivamente
-
Listar contenido del archivo
unzip -l backup.zip-l: Listar contenido sin extraer
-
Extraer archivos
unzip backup.zip -
Extraer en directorio específico
unzip backup.zip -d /ruta/destino-d: Especificar directorio destino
2. Transferencia Segura de Archivos
La transferencia de archivos entre sistemas debe realizarse de forma segura para proteger la información. SSH proporciona herramientas como scp y sftp para esto.
El comando SCP sigue la siguiente estructura:
scp [origen] [destino]
- origen: Ruta del archivo/directorio local o remoto
- destino: Ruta donde se copiará el archivo/directorio
Casos de uso con SCP:
-
Local a Servidor Remoto:
scp archivo.txt usuario@servidor:/destino/ -
Servidor Remoto a Local:
scp usuario@servidor:/ruta/archivo.txt ./local/ -
Entre Servidores Remotos:
scp usuario1@servidor1:/ruta/archivo.txt usuario2@servidor2:/destino/
Iniciar sesión SFTP
sftp usuario@servidor
-
Comandos básicos SFTP
ls # Listar archivos remotos pwd # Mostrar directorio actual remoto lls # Listar archivos locales lpwd # Mostrar directorio actual local cd # Cambiar directorio remoto lcd # Cambiar directorio local get file # Descargar archivo put file # Subir archivo rm file # Eliminar archivo remoto exit # Salir de la sesión -
Opciones Avanzados
“-P puerto”: Especificar puerto diferente
“-i key.pem”: Usar clave SSH específica
“-v”: Modo verbose para depuración
3. Sincronización de Archivos
El comando rsync permite mantener sincronizados directorios entre diferentes sistemas, transfiriendo solo los cambios necesarios.
Ejemplo Práctico:
-
Sincronizar directorios localmente
rsync -av /origen/ /destino/a: Modo archivo (mantiene permisos)v: Modo verbose
-
Sincronizar con servidor remoto
rsync -avz /origen/ usuario@servidor:/destino/z: Comprimir durante transferencia
-
Sincronizar manteniendo enlaces simbólicos
rsync -avzL /origen/ /destino/L: Seguir enlaces simbólicos
Opciones Avanzadas de rsync
Tabla 4.1: Opciones habilitadas con rsync
| Opción | Descripción |
|---|---|
| -v, —verbose | Modo detallado |
| -a, —archive | Modo archivo (preserva todo) |
| -z, —compress | Comprime durante transferencia |
| -P | Muestra progreso |
| —delete | Elimina archivos extra en destino |
5. Tips y Mejores Prácticas
- Usar compresión para archivos grandes en redes lentas
- Verificar siempre el contenido después de transferencias
- Mantener respaldos antes de sincronizaciones importantes
- Usar modo dry-run (
--dry-run) para probar antes de ejecutar - Documentar los procesos de transferencia