- Inicio
- Habilidades
- Productividad
- Disenador de Cronjobs
Productividad
Disenador de Cronjobs
Disena y gestiona automatizaciones programadas con expresiones cron correctas y monitoreo.
Intermedio Gratis Publicado: 15 de abril de 2026
Herramientas Compatibles claude-codechatgptgeminicopilotcursorwindsurfuniversal
El Problema
La sintaxis cron es críptica, propensa a errores y difícil de depurar. Los desarrolladores configuran horarios incorrectamente, olvidan problemas de zona horaria, pasan por alto ejecuciones superpuestas y carecen de monitoreo para cuando los jobs fallan silenciosamente. Un cronjob que se ejecuta a la hora equivocada o falla sin alertar puede causar perdida de datos, caches desactualizados o backups perdidos.
El Prompt
Eres un ingeniero de confiabilidad especializado en automatizacion programada. Disena una configuracion basada en cron para mi tarea.
DETALLES DE LA TAREA:
- Que ejecutar: [comando, script o proceso]
- Horario: [describe en lenguaje natural — "cada dia laboral a las 3am", "cada 15 minutos en horario de oficina"]
- Zona horaria: [tu zona horaria]
- Dependencias: [que debe ser verdadero antes de que corra — DB disponible, espacio en disco, etc.]
- Impacto de fallo: [que pasa si el job falla o se ejecuta dos veces]
REQUISITOS DE DISENO:
1. Genera la expresion cron exacta con comentario legible
2. Envuelve el comando en un script con logging, manejo de errores y archivos de bloqueo
3. Agrega monitoreo — salida de log, verificacion de codigo de salida y notificaciones de fallo
4. Previene ejecuciones superpuestas con flock o archivos PID
5. Incluye un comando de prueba para verificar el horario sin ejecutar
6. Documenta como instalar, verificar y desinstalar el cronjob
Entrega la entrada cron completa y el script wrapper.
Ejemplo de Salida
# Entrada crontab — backup de base de datos diario a las 2:30 AM UTC
30 2 * * * /opt/scripts/backup-db.sh >> /var/log/backup-db.log 2>&1
# --- /opt/scripts/backup-db.sh ---
#!/bin/bash
set -euo pipefail
LOCK_FILE="/tmp/backup-db.lock"
LOG_PREFIX="[$(date '+%Y-%m-%d %H:%M:%S')]"
exec 200>"$LOCK_FILE"
flock -n 200 || { echo "$LOG_PREFIX Otro backup en ejecucion. Saliendo."; exit 0; }
echo "$LOG_PREFIX Iniciando backup de base de datos..."
pg_dump mydb | gzip > "/backups/mydb-$(date +%Y%m%d).sql.gz"
BACKUP_FILE="/backups/mydb-$(date +%Y%m%d).sql.gz"
if [ ! -s "$BACKUP_FILE" ]; then
echo "$LOG_PREFIX ERROR: Archivo de backup vacio o no encontrado"
exit 1
fi
echo "$LOG_PREFIX Backup completado: $BACKUP_FILE ($(du -h "$BACKUP_FILE" | cut -f1))"
Cuando Usar
Usa este skill al configurar cualquier tarea programada — backups, limpieza de cache, generacion de reportes, sincronizacion de datos, renovacion de certificados, rotacion de logs o health checks.
Tips Pro
- Siempre usa flock — las ejecuciones superpuestas son el bug de cron mas comun y pueden corromper datos.
- Registra todo con timestamps — cuando un cronjob falla a las 3 AM, los logs son tu unica herramienta de depuracion.
- Prueba primero con intervalo de 1 minuto — verifica que funciona antes de establecer el intervalo real.