Want to create interactive content? It’s easy in Genially!
PR.AD.04.04.01 Scripts de automatización básica y automatización
UTL
Created on September 25, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Programación de redes
Scripts de automatización básica y automatización
AD.04.04.01 – Scripts de automatización básica y automatización
Índice
• Introducción
• Automatización con PowerShell
• Objetivo
• Automatización con Bash
• Concepto de scripting
• Estructura de un script profesional
• Scripts interactivos con entrada del usuario
• Tipos de scripts
• Manejo de errores y excepciones
• Beneficios de la automatización
• Uso de APIs en la automatización
• Lenguajes más usados para scripting
• Automatización de monitoreo de red y servicios
• Variables y estructuras básicas
• Logs y reportes automáticos
• Condicionales en scripting
• Integración con herramientas de red (Ansible, Netmiko, NAPALM)
• Bucles y repeticiones automáticas
• Buenas prácticas en scripting
• Funciones y modularidad
• Seguridad en la automatización
• Automatización de tareas del sistema
• Escalabilidad de scripts y paralelización
• Automatización en redes
• Depuración y pruebas de scripts
• Automatización de tareas repetitivas
• Conclusión
• Ejecución automática programada (cron / Task Scheduler)
• Fuentes bibliográficas
• Automatización con Python y archivos
Introducción
La automatización es el proceso de ejecutar tareas sin intervención manual, mediante el uso de scripts o programas. En el ámbito de redes y sistemas, permite optimizar tiempos, reducir errores y estandarizar procesos repetitivos. Los scripts de automatización son instrucciones escritas en lenguajes como Python, Bash o PowerShell, que ejecutan secuencias específicas: configuración, monitoreo o despliegue.
Objetivo
El estudiante comprenderá los fundamentos teóricos y prácticos para diseñar, escribir y ejecutar scripts de automatización básica, aplicando buenas prácticas de desarrollo y seguridad. Será capaz de crear scripts funcionales en distintos entornos para tareas de red, sistema o monitoreo.
Concepto de scripting
Un script es una secuencia de instrucciones que un sistema interpreta y ejecuta automáticamente. Se diferencia de los programas compilados porque no necesita un proceso de compilación: se ejecuta directamente por un intérprete (Python, Bash, PowerShell).
Ejemplo práctico:
Tipos de scripts
Un script es una secuencia de instrucciones que un sistema interpreta y ejecuta automáticamente. Se diferencia de los programas compilados porque no necesita un proceso de compilación: se ejecuta directamente por un intérprete (Python, Bash, PowerShell).
Scripts de shell (Bash): automatizan tareas del sistema operativo.
Scripts en Python: orientados a automatización avanzada y APIs.
Scripts en PowerShell: usados en entornos Windows.
Scripts híbridos: integran múltiples herramientas (por ejemplo, Python + Ansible).
Ejemplo práctico:
Mostrar un script corto en PowerShell para listar procesos:
Get-Process | Select-Object Name, CPU
Beneficios de la automatización
Ejemplo práctico:
Ahorro de tiempo.
Disminución de errores humanos.
Un script Python que genera automáticamente reportes de logs.
Consistencia en configuraciones.
Escalabilidad.
Repetibilidad.
Lenguajes más usados para scripting
Python: versátil y con librerías extensas.
Bash: ideal para sistemas Linux.
PowerShell: para entornos Windows.
Los lenguajes más comunes en automatización son:
Perl y Ruby: aún usados en entornos legacy.
Ejemplo práctico:
print("Automatizando con Python...")
Variables y estructuras básicas
Ejemplo práctico:
Las variables almacenan datos que el script puede reutilizar. Permiten crear programas dinámicos.
Condicionales
Ejemplo visual:
Permiten tomar decisiones en el flujo del script (if/else). Ejemplo: if ping -c 1 8.8.8.8 > /dev/null; then echo "Red activa" else echo "Red inactiva" fi
Bucles
Ejemplo visual:
Los bucles repiten acciones múltiples veces (for, while). Ejemplo práctico: for i in range(3): print("Intentando conexión...")
Funciones
Ejemplo visual:
Permiten dividir el código en bloques reutilizables. Ejemplo práctico: def saludar(): print("Automatización iniciada.") saludar()
Automatización de tareas del sistema
Ejemplo visual:
Los scripts pueden ejecutar comandos del sistema operativo, modificar archivos, crear logs y realizar copias de seguridad. Ejemplo práctico: tar -czvf respaldo.tar.gz /etc
Automatización de tareas repetitivas
Ejemplo visual:
Ideal para tareas que se ejecutan frecuentemente, como limpieza de archivos temporales o generación de reportes. Ejemplo práctico: find /tmp -type f -mtime +7 -delete.
Ejecución automática programada
En Linux se usa cron y en Windows el Task Scheduler para programar scripts. Ejemplo práctico: crontab -e 0 8 * * * /home/admin/backup.sh
Automatización con Python y archivos
Python puede leer y escribir archivos automáticamente. Ejemplo práctico: with open("registro.txt", "a") as log: log.write("Ejecución completada.\n")
Automatización con PowerShell
PowerShell permite manipular procesos, servicios y redes. Ejemplo práctico: Get-Service | Where-Object {$_.Status -eq "Running"}
Automatización con Bash
En Linux, Bash ejecuta comandos del sistema de forma secuencial o condicional. Ejemplo práctico: df -h > reporte_disco.txt
Estructura de un script profesional
Un script debe incluir:
- Comentarios.
- Variables configurables.
- Validaciones.
- Registro de actividad (logs).
Scripts interactivos
Los scripts pueden solicitar datos al usuario. Ejemplo práctico: nombre = input("Ingrese su nombre: ") print(f"Hola, {nombre}, la automatización ha comenzado.")
Manejo de errores
Agregar manejo de excepciones mejora la estabilidad del script. Ejemplo práctico: try: archivo = open("config.txt") except FileNotFoundError: print("Error: archivo no encontrado.")
Uso de APIs en automatización
Las APIs permiten controlar aplicaciones o servicios externos desde scripts. Ejemplo práctico: import requests r = requests.get("https://api.ipify.org?format=json") print(r.json())
Uso de APIs en automatización
Las APIs permiten controlar aplicaciones o servicios externos desde scripts. Ejemplo práctico: import requests r = requests.get("https://api.ipify.org?format=json") print(r.json())
Automatización de monitoreo
Scripts pueden verificar disponibilidad de servicios y generar alertas. Ejemplo práctico: ping -c 1 8.8.8.8 && echo "Conectado" || echo "Error de conexión".
Logs y reportes automáticos
Registrar las acciones y resultados de un script permite auditar su comportamiento. Ejemplo práctico: import datetime log = open("actividad.log", "a") log.write(f"{datetime.datetime.now()} - Tarea completada\n")
Integración con herramientas de red
Los scripts se pueden integrar con herramientas como Ansible, Netmiko o NAPALM para ejecutar configuraciones masivas. Ejemplo práctico: os.system("ansible-playbook redes.yaml")
Buenas prácticas en scripting
- Nombrar variables descriptivas.
- Usar control de versiones (Git).
- Probar scripts antes de producción.
- Documentar código.
Seguridad en automatización
Evitar credenciales en texto plano, cifrar archivos sensibles y usar roles con privilegios mínimos. Ejemplo práctico: ansible-vault encrypt variables.yml
Escalabilidad de scripts
Un script escalable puede ampliarse fácilmente o ejecutarse en paralelo. Ejemplo práctico: from multiprocessing import Pool
Depuración y pruebas
Antes del despliegue, se deben probar los scripts para detectar errores. Herramientas: pytest, bash -x, Write-Debug. Ejemplo práctico: bash -x script.sh
Conclusión
Los scripts de automatización representan la base de la ingeniería moderna de infraestructura. Permiten ejecutar tareas complejas con precisión y agilidad, integrando múltiples tecnologías bajo un mismo flujo. El profesional debe dominar la lógica, seguridad y mantenimiento del código automatizado.
REFERENCIAS
- • Cisco Systems (2023). Network Automation with Python and Ansible.
- • Red Hat (2022). Ansible Automation Platform Documentation.
- • Bash Manual (GNU). Bash Reference Guide.
- • Microsoft Docs. Windows PowerShell Automation.
- • Lutz, M. (2022). Learning Python (5th Ed.) – O’Reilly Media.
Creación de contenido.
- Sergio Velazquez Bonilla - Universidad Tecnológica del Centro de Veracruz
Revisión de contenido.
- Eva María Landa Huerta - Universidad Tecnológica del Centro de Veracruz
Diseño instruccional.
- Ricardo Castro Valdivia - Universidad Tecnológica del Centro de Veracruz
Diseño gráfico y multimedia.
- Miguel Hernández Romero - Universidad Tecnológica del Centro de Veracruz