Mi Viaje DevOps: Parte 4 Archivos, Programación, Acceso Remoto y Administración

Después de aprender sobre permisos y gestores de paquetes en las partes anteriores, descubrí que dominar Linux también implica gestionar archivos, automatizar tareas, asegurar accesos y trabajar entre sistemas. En esta entrega comparto herramientas prácticas que uso a diario como DevOps: archivado y compresión, cronjobs, SSH y SCP, máquinas virtuales y pares de claves.

Archivado y compresión Fue un gran alivio aprender a empaquetar miles de ficheros de logs en /var/log en un solo archivo con tar. Ejemplo: tar -cvf logs.tar /var/log y luego extraer con tar -xvf logs.tar. Para comprimir un archivo uso gzip demo.txt que produce demo.txt.gz. Lección aprendida: en lugar de mover cientos de archivos uno a uno, crear un tar, transferirlo y extraerlo es mucho más limpio y eficiente, especialmente cuando se trabaja con backups y migraciones.

Automatizar tareas con cronjobs Repetir backups manuales era tedioso, así que use crontab -e y añadí la línea 0 0 * * * /home/user/backup.sh para ejecutar un script cada medianoche. Si crontab -l no muestra nada o el script no corre, suele ser por rutas relativas o dependencias no encontradas. Un error típico es confiar en python3 sin ruta absoluta; la solución es usar /usr/bin/python3 /home/user/backup.py dentro del cron.

Seguridad y administración básica de sistemas Crear usuarios y gestionar permisos es fundamental. Ejemplo para crear un usuario sudo adduser dev y otorgar permisos sudo con sudo usermod -aG sudo dev. Importante aplicar el principio de menor privilegio: no dar sudo si solo se necesita acceso a ficheros. En producción cada permiso debe justificarse para reducir riesgos de seguridad y minimizar superficie de ataque.

Conexiones remotas con SSH y pares de claves Al principio me autenticaba con contraseña ssh user@192.168.1.10, pero al desactivar el acceso por contraseña apareció Permission denied publickey. La solución fue generar claves y copiar la pública al servidor: ssh-keygen -t rsa -b 4096 -C usuario y luego ssh-copy-id user@192.168.1.10. Con esto el acceso sin contraseña permite automatizaciones seguras y uso de SCP para transferencias: scp logs.tar user@192.168.1.10:/ruta/destino.

Máquinas virtuales Antes de tocar servidores de producción practiqué en VirtualBox creando una VM con Ubuntu, configurando NAT e instalando nginx con sudo apt install nginx -y. Verificar con systemctl status nginx confirma que el servicio está active running. Trabajar en VMs permite romper cosas sin consecuencias y volver a snapshots si algo falla.

Puntos clave El archivado hace que los backups sean portables. Los cronjobs automatizan tareas repetitivas. La seguridad efectiva se basa en el principio de menor privilegio. SSH y SCP son herramientas esenciales para gestión remota. Las claves SSH habilitan automatización sin contraseñas. Las máquinas virtuales son un sandbox seguro para aprender y probar.

En Q2BSTUDIO como empresa de desarrollo de software y aplicaciones a medida combinamos estas buenas prácticas DevOps con servicios orientados al negocio. Ofrecemos soluciones de software a medida y aplicaciones a medida que integran despliegues automatizados y seguridad desde el diseño. Si necesitas desplegar infraestructuras en la nube contamos con experiencia en servicios cloud aws y azure y gestión de entornos productivos, descubre más sobre nuestros servicios cloud. Para proyectos que requieren aplicaciones personalizadas visitanos en la página de desarrollo de aplicaciones y software a medida.

Además, en Q2BSTUDIO complementamos nuestros servicios con inteligencia artificial, soluciones de inteligencia de negocio y ciberseguridad para empresas. Palabras clave que aplicamos en nuestros proyectos incluyen inteligencia artificial, ia para empresas, agentes IA, servicios inteligencia de negocio y power bi, siempre orientadas a mejorar procesos, automatización y toma de decisiones basada en datos.

Qué sigue En la próxima parte me adentraré en Shell Scripting, la verdadera pegamento de DevOps: introducción al scripting, escribir y ejecutar scripts, variables y operadores, lectura de entrada del usuario, funciones y bucles, diferencias entre sh y bash, buenas prácticas y cómo pasar argumentos a un script. Ese paso te lleva de ejecutar comandos sueltos a construir flujos de automatización robustos.

Y a ti qué te pasó con tu primer cronjob o configuración de claves SSH ¿Funcionó a la primera o pasaste horas depurando como yo Comparte tu experiencia y si buscas apoyo profesional en automatización, despliegues seguros o desarrollo a medida, en Q2BSTUDIO podemos ayudar.