Saltar al contenido
Logotipo de Trainontech Trainontech

Lenguajes y Fundamentos de Programación · LNG-241

Bash avanzado: automatización y administración

Scripts robustos con manejo de errores, trampas, paralelismo y despliegue en varios equipos.

Bajo demanda Avanzado 7 módulos · 34 clases

Formato asíncrono Desarrollo, Ingeniería / Industria, Administración pública Bash, Linux

Lo que aprenderás

  • Blindar scripts con set -euo pipefail y comprobaciones explícitas de precondiciones
  • Capturar señales con trap y garantizar limpieza de ficheros temporales al salir
  • Estructurar código con funciones, bibliotecas sourceadas y variables de ámbito local
  • Procesar opciones de línea de órdenes con getopts y mensajes de uso claros
  • Paralelizar trabajos con jobs en segundo plano, wait y GNU parallel controlando la concurrencia
  • Evitar ejecuciones simultáneas del mismo script mediante ficheros de bloqueo gestionados con flock
  • Ejecutar de forma idempotente sobre varios equipos por SSH y registrar el resultado

Contenido del curso

7 módulos · 34 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Punto de partida 4 clases
  • Qué separa un script de una herramienta de producción
  • Entorno de prácticas con varios contenedores Linux
  • Repaso rápido de expansión, comillas y sustitución
  • Auditoría de un script problemático de ejemplo
Módulo 2 · Errores y robustez 5 clases
  • set -e, set -u y pipefail: qué hacen y qué no
  • Códigos de salida y convenios habituales
  • Comprobar dependencias y precondiciones al arrancar
  • Rutas con espacios, globbing y separadores de campo
  • Revisión estática sistemática con ShellCheck
Módulo 3 · Señales y limpieza 5 clases
  • Señales de Unix y comportamiento por defecto
  • trap para EXIT, INT y TERM
  • Ficheros temporales seguros con mktemp
  • Interrupciones a mitad de una operación larga
  • Ejercicio: script que siempre deja el sistema consistente
Módulo 4 · Estructura y reutilización 5 clases
  • Funciones, variables locales y ámbito
  • Bibliotecas compartidas y source
  • Opciones y argumentos con getopts
  • Registro con niveles y salida a syslog
  • Plantilla base de script para el equipo
Módulo 5 · Concurrencia y exclusión mutua 5 clases
  • Procesos en segundo plano, wait y control de fallos
  • Limitar concurrencia con GNU parallel
  • Bloqueo con flock para evitar solapes
  • Colas simples de trabajo con FIFO
  • Medir el efecto real del paralelismo
Módulo 6 · Automatización en varios equipos 5 clases
  • SSH sin contraseña y buenas prácticas de claves
  • Ejecución remota y recogida de resultados
  • Idempotencia: repetir sin romper nada
  • Distribución de scripts y control de versiones
  • Comparación con Ansible: cuándo dar el salto
Módulo 7 · Proyecto de cierre 5 clases
  • Herramienta de mantenimiento para un parque de servidores
  • Unidad y temporizador de systemd frente a cron
  • Informe de ejecución y alertas por correo
  • Pruebas del script con bats
  • Documentación de operación y entrega

Requisitos

  • Bash a nivel de usuario: variables, bucles, condicionales y tuberías
  • Administración básica de Linux: permisos, servicios y systemd
  • Acceso a dos o más máquinas o contenedores Linux con SSH configurado

Descripción

Un script que funciona en el portátil de quien lo escribió suele fallar en producción: rutas con espacios, una orden ausente, un error intermedio en una tubería que pasa desapercibido, dos ejecuciones que se pisan. Cuando ese script mantiene copias, despliegues o rotaciones de registro, el fallo silencioso se convierte en un incidente. Aquí se trabaja precisamente esa distancia entre script y herramienta fiable.

El curso revisa el comportamiento real de Bash ante errores y señales, y a partir de ahí construye una plantilla de script propia con validación de entorno, registro con niveles, bloqueo, limpieza garantizada y códigos de salida documentados. Después se añade concurrencia controlada, ejecución remota por SSH y empaquetado de la herramienta con su fichero de unidad de systemd y su temporizador.

El resultado es un conjunto de utilidades que otras personas del equipo pueden ejecutar sin miedo, con trazas revisables y comportamiento predecible. Encaja con el trabajo de administración de sistemas, con la preparación de despliegues y con la automatización interna en administraciones públicas, donde la trazabilidad y la repetibilidad son requisito.

¿Para quién es este curso?

  • Administradores de sistemas Linux responsables de copias, despliegues y tareas programadas
  • Personal técnico de administración pública que automatiza tareas y necesita trazabilidad de cada ejecución
  • Perfiles de ingeniería y DevOps que mantienen scripts compartidos en varios servidores
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
LNG-241
Nivel
Avanzado
Público
Desarrollo, Ingeniería / Industria, Administración pública
Entorno
Bash, Linux

Este curso incluye

  • 34 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

PY-106Lenguajes y Fundamentos de Programación

Concurrencia: multihilo y multiproceso

Paralelizar adquisición de datos y tareas de E/S sin introducir errores difíciles de reproducir.

Python

Avanzado 33 clases

PY-107Lenguajes y Fundamentos de Programación

Testing y TDD en Python

Pruebas unitarias, fixtures y desarrollo dirigido por pruebas en proyectos técnicos reales.

Python

Avanzado 34 clases

PY-131Lenguajes y Fundamentos de Programación

Webscraping con agentes de IA en local

Agentes que navegan y extraen datos sin depender de servicios en la nube.

PythonOllama

Avanzado 34 clases