RousselTMLEARNING

TP · Administración Linux: del descubrimiento a la maestría

Práctica: Un script de copia de seguridad robusto y programado

Lo que vas a aprender en este TP
  • Escribir un script con set -euo pipefail, trap y getopts
  • Controlar la calidad con ShellCheck
  • Programar y restaurar

Introducción #

Lo que vas a aprender en esta sección
  • Escribir un script con set -euo pipefail, trap y getopts
  • Controlar la calidad con ShellCheck
  • Programar y restaurar

Contexto. Nadie respalda la configuración del servidor. Escribes un script fiable, que se puede volver a ejecutar sin riesgo y que informa de sus fallos.

Requisitos previos: una máquina virtual Ubuntu 24.04 desechable (Multipass, Vagrant o nube) con una cuenta sudo  ·  Duración estimada: 50 min

Una copia diaria de /etc verificada y restaurable.

Puesta en práctica #

Pasos guiados, con su corrección.

  1. 1. Escribir el script

    ¿Por qué? El modo estricto, la limpieza automática, el bloqueo y las opciones hacen que el script sea seguro de relanzar y programar.

    Crea /usr/local/bin/backup-etc.sh: archivo verificado de /etc, opciones -n (simulación) y -r (retención en días), bloqueo flock, registro con fecha y borrado de archivos antiguos.
  2. 2. Comprobar con ShellCheck

    ¿Por qué? ShellCheck detecta comillas que faltan, variables no definidas y trampas clásicas antes de que rompan producción.

    Instala ShellCheck, analiza el script y corrige los avisos. Comprueba la sintaxis con bash -n.
  3. 3. Probar los casos normales y de error

    ¿Por qué? Un script también se prueba en sus fallos: el código de salida es lo que verán systemd o la CI.

    Lanza una simulación, una copia real y provoca tres errores (sin root, retención inválida, dos ejecuciones simultáneas) mostrando el código de salida.
  4. 4. Programar con un timer

    ¿Por qué? El timer registra cada ejecución y marca el servicio como fallido si el script devuelve un error.

    Crea backup-etc.service y backup-etc.timer (cada día a las 2:30, con recuperación), lanza una ejecución manual y consulta el journal.
  5. 5. Restaurar un archivo

    ¿Por qué? Una copia solo vale si se sabe restaurar.

    Modifica /etc/motd, restaura la versión respaldada desde el último archivo a un directorio temporal y compara antes de volver a colocarla.

Nivel de dificultad : ●●●○○ (3/5)

Mi seguimiento

  • ⏱ Duración estimada : ≈ 50 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

✉️ Hacer una pregunta

Artículos recomendados

Scripts Bash pour l'administrateur : écrire des scripts robustes

Automatiser l'administration Linux avec Bash : variables et guillemets, conditions, boucles, fonc...

Paquets, services systemd, journaux et tâches planifiées

Installer et mettre à jour des logiciels avec apt et dnf, piloter les services avec systemctl, éc...

Buenas Prácticas de Kubernetes

Mejores prácticas para asegurar y optimizar los despliegues de Kubernetes.