Automatiza tus tareas con Bash y Cron
La automatización es una de las habilidades más valiosas para cualquier administrador de sistemas o desarrollador.
Gracias a herramientas como Bash y Cron, puedes programar tareas que se ejecuten automáticamente, ahorrando tiempo y reduciendo errores humanos.
En esta guía aprenderás cómo crear un script Bash y cómo programarlo con Cron para que se ejecute de manera periódica.
Crear un script Bash
Comienza escribiendo un script simple. Por ejemplo, un script para realizar un respaldo de base de datos:
|
|
Guárdalo como backup.sh en el directorio deseado, por ejemplo /usr/local/bin/ o /home/usuario/scripts/.
Este script puede incluir cualquier comando o secuencia de tareas que desees automatizar: copias de seguridad, limpieza de logs, sincronización de archivos, actualizaciones, etc.
Hacerlo ejecutable
Antes de poder ejecutarlo, debes dar permisos de ejecución al archivo:
|
|
Puedes probarlo ejecutándolo manualmente:
|
|
Si todo funciona correctamente, verás el mensaje en consola.
Recuerda que también puedes revisar logs o redirigir la salida del script a un archivo, por ejemplo:
|
|
Programar el script con Cron
Cron es un demonio del sistema que permite programar tareas recurrentes (llamadas cron jobs).
Edita la tabla de Cron con:
|
|
Agrega una línea como esta:
|
|
Esto ejecutará el script todos los días a las 2:00 AM.
La sintaxis de Cron sigue el formato:
|
|
Por ejemplo:
0 3 * * 1→ Ejecuta todos los lunes a las 3:00 AM*/15 * * * *→ Ejecuta cada 15 minutos@reboot→ Ejecuta el comando al iniciar el sistema
Consejos útiles
- Usa rutas absolutas dentro del script (
/usr/bin/pg_dumpen lugar depg_dump). - Redirige salidas de error a un log para detectar fallos:
1/ruta/a/backup.sh >> /var/log/backup.log 2>&1 - Comprueba los logs de Cron si algo no funciona:
1sudo grep CRON /var/log/syslog - Usa
crontab -lpara listar las tareas programadas.
Conclusión
Con Bash + Cron, puedes automatizar casi cualquier tarea repetitiva en tu servidor: desde respaldos y actualizaciones, hasta mantenimiento y reportes automáticos.
Implementar una estrategia de automatización no solo mejora la eficiencia, sino que también garantiza consistencia y disponibilidad en tus operaciones diarias.
Recuerda: un buen sysadmin no trabaja más, trabaja más automatizado.