Automatización de la administración del sistema
Aplique scripts de Bash para automatizar tareas habituales de administración del sistema, como copias de seguridad, rotación de registros y supervisión.
Automatización de la administración del sistema es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Introducción a la automatización de la administración de sistemas
¡Bienvenido! En esta lección profundizaremos en la automatización de tareas habituales de administración de sistemas mediante scripts de Bash. ¡Aquí es donde sus habilidades de scripting realmente brillan!
La automatización ayuda a que la gestión de sistemas sea más eficiente y coherente, y reduce la probabilidad de errores humanos. Es una habilidad fundamental para cualquier desarrollador o profesional de TI.
¿Por qué automatizar las tareas de administración de sistemas?
Automatizar tareas repetitivas ofrece ventajas importantes:
- Eficiencia: Las tareas se ejecutan más rápido y sin intervención manual.
- Coherencia: Garantiza que las tareas se realicen siempre de la misma manera, lo que reduce los errores.
- Fiabilidad: Los scripts se pueden programar para que se ejecuten de forma fiable, incluso cuando no esté presente.
- Escalabilidad: Permite aplicar fácilmente las mismas operaciones en muchos sistemas.
Objetivos habituales de automatización
Muchas tareas de administración de sistemas son candidatas perfectas para la automatización:
- Copias de seguridad: Copiar periódicamente datos importantes.
- Gestión de registros: Limpiar registros antiguos o rotarlos.
- Supervisión del sistema: Comprobar el espacio en disco y el uso de la CPU y la memoria.
- Gestión de usuarios: Crear o eliminar cuentas de usuario.
- Actualizaciones de software: Mantener los paquetes actualizados.
Crear un script de copia de seguridad sencillo
Una de las tareas más importantes es realizar copias de seguridad de los datos. Un script básico de copia de seguridad puede copiar archivos o directorios específicos a una ubicación segura, a menudo con una marca de tiempo.
Podemos usar el comando cp junto con el comando date para crear directorios de copia de seguridad únicos.
Ejecutar: copia de seguridad diaria de datos
Este script crea una copia de seguridad con marca de tiempo del directorio 'my_data' dentro de una carpeta 'backups'. Recuerde sustituir /path/to/my_data por un directorio real de su sistema para probarlo.
#!/bin/bash
SOURCE_DIR="/tmp/my_data"
BACKUP_DIR="/tmp/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p "$SOURCE_DIR"
echo "Hello from CoddyKit!" > "$SOURCE_DIR/file1.txt"
echo "More data." > "$SOURCE_DIR/file2.txt"
mkdir -p "$BACKUP_DIR"
# Perform the backup
cp -r "$SOURCE_DIR" "$BACKUP_DIR/backup_$TIMESTAMP"
echo "Backup created at: $BACKUP_DIR/backup_$TIMESTAMP"Automatizar la limpieza de registros
Los archivos de registro crecen rápidamente y pueden consumir una cantidad considerable de espacio en disco. Automatizar su limpieza o rotación es esencial para mantener el sistema en buen estado.
Podemos usar el comando find para localizar archivos de registro antiguos y eliminarlos, o moverlos a un archivo.
Ejecutar: eliminador de registros antiguos
Este script elimina los archivos de registro con más de 7 días de antigüedad de un directorio especificado. ¡Tenga cuidado al usar rm en scripts reales!
#!/bin/bash
LOG_DIR="/tmp/app_logs"
mkdir -p "$LOG_DIR"
touch "$LOG_DIR/today.log"
touch -d "8 days ago" "$LOG_DIR/old_log_1.log"
touch -d "5 days ago" "$LOG_DIR/recent.log"
touch -d "10 days ago" "$LOG_DIR/old_log_2.log"
echo "Logs before cleanup:"
ls -l "$LOG_DIR"
# Find and delete log files older than 7 days
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -delete
echo "\nLogs after cleanup:"
ls -l "$LOG_DIR"Supervisar el uso del disco
Supervisar recursos del sistema como el espacio en disco es fundamental para evitar interrupciones del servicio. Un script puede comprobar periódicamente el uso y avisarle si supera un umbral.
El comando df informa sobre el uso del espacio en disco de los sistemas de archivos. Podemos analizar su salida para obtener únicamente el porcentaje.
Ejecutar: alerta de espacio en disco
Este script comprueba el uso del disco del sistema de archivos raíz (/) y muestra una advertencia si supera el 80 %. Puede modificar THRESHOLD.
#!/bin/bash
THRESHOLD=80
# Get disk usage percentage for root filesystem
USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
# Check if usage exceeds threshold
if (( USAGE > THRESHOLD )); then
echo "WARNING: Disk usage on / is at ${USAGE}%!"
else
echo "Disk usage on / is ${USAGE}%. All good!"
fiPrácticas recomendadas para scripts de administración de sistemas
Al escribir scripts de automatización, tenga en cuenta estas prácticas recomendadas:
- Gestión de errores: Use
set -epara salir cuando se produzca un error y añada comprobaciones de errores explícitas. - Registro: Redirija la salida del script a archivos de registro para facilitar la auditoría y la depuración.
- Idempotencia: Diseñe los scripts de modo que ejecutarlos varias veces produzca el mismo efecto que ejecutarlos una sola vez.
- Configuración: Use variables o archivos de configuración independientes para los valores que puedan cambiarse fácilmente.
- Permisos: Asegúrese de que los scripts tengan los permisos de ejecución correctos (
chmod +x).
Comprobación de automatización de la administración de sistemas
¿Cuáles de las siguientes tareas son buenas candidatas para automatizarlas mediante scripts de Bash en la administración de sistemas?
Recapitulación: automatización de la administración de sistemas
¡Excelente trabajo! Ha aprendido cómo los scripts de Bash pueden transformar las tareas de administración de sistemas.
Hemos visto cómo automatizar copias de seguridad, la limpieza de registros y la supervisión del uso del disco. Recuerde aplicar prácticas recomendadas, como la gestión de errores y el registro, para crear scripts de automatización robustos y fiables.
Estas habilidades son inestimables para mantener sistemas eficientes y en buen estado.
Preguntas frecuentes
¿La lección «Automatización de la administración del sistema» es gratis?
Sí — el texto completo de «Automatización de la administración del sistema» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Automatización de la administración del sistema»?
Aplique scripts de Bash para automatizar tareas habituales de administración del sistema, como copias de seguridad, rotación de registros y supervisión. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Automatización de la administración del sistema»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Programación de tareas con Cron
- Automatización de la administración del sistema
- Proyecto de scripting avanzado
- Rotación y limpieza automatizadas de logs