
⏰ Guía Rápida de cron
para Administradores de Servidores
cron
es el demonio de tareas programadas en Linux. Te permite ejecutar scripts o comandos en intervalos definidos, desde tareas diarias de mantenimiento hasta automatizaciones críticas.
📚 Índice
- 🛠️ Edición del crontab
- 📋 Sintaxis de las líneas de cron
- 🧠 Ejemplos comunes
- 🔍 Ver y gestionar crons de otros usuarios
- 🪵 Logs y depuración
- 🚫 Desactivar tareas temporalmente
- 📦 Archivos relacionados
🛠️ Edición del crontab
# Editar el crontab del usuario actual
crontab -e
# Ver crontab del usuario actual
crontab -l
# Eliminar el crontab del usuario actual
crontab -r
Usa EDITOR=nano crontab -e si prefieres nano en lugar de vi.
📋 Sintaxis de las líneas de cron
# ┌──────── minuto (0 - 59)
# │ ┌────── hora (0 - 23)
# │ │ ┌──── día del mes (1 - 31)
# │ │ │ ┌── mes (1 - 12)
# │ │ │ │ ┌─ día de la semana (0 - 7) (0 o 7 = domingo)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * comando-a-ejecutar
🧠 Ejemplos comunes
# Ejecutar cada día a las 3:30 AM
30 3 * * * /ruta/script.sh
# Ejecutar cada lunes a las 7 AM
0 7 * * 1 /ruta/backup.sh
# Cada 5 minutos
*/5 * * * * /ruta/monitoreo.sh
# Cada hora exacta
0 * * * * /ruta/tarea.sh
# Al reiniciar el sistema
@reboot /ruta/init-script.sh
# Redirigir salida a log
0 1 * * * /ruta/script.sh >> /var/log/miscript.log 2>&1
🔍 Ver y gestionar crons de otros usuarios
# Ver crontab de otro usuario
sudo crontab -u nombre_usuario -l
# Editar crontab de otro usuario
sudo crontab -u nombre_usuario -e
🪵 Logs y depuración
# Ver logs de cron en sistemas con rsyslog
grep CRON /var/log/syslog # Debian, Ubuntu
grep CRON /var/log/cron # CentOS, RHEL, AlmaLinux
# Si journalctl está disponible:
journalctl -u cron.service # Debian-like
journalctl -u crond.service # RHEL-like
Tip: redirige siempre la salida de tus comandos para poder detectar errores (>> /ruta/log 2>&1).
🚫 Desactivar tareas temporalmente
# Comentar una línea anteponiendo "#"
# 0 2 * * * /ruta/script.sh
# O usa condiciones dentro del script:
[ "$(date +\%u)" -ne 7 ] && exit 0 # no correr los domingos
📦 Archivos relacionados
Archivo | Descripción |
---|---|
/etc/crontab | Crontab global del sistema |
/etc/cron.d/ | Archivos crontab individuales por servicio |
/etc/cron.daily/ | Scripts ejecutados diariamente |
/etc/cron.hourly/ | Scripts ejecutados cada hora |
/etc/cron.weekly/ | Scripts ejecutados semanalmente |
/var/spool/cron/ | Crontabs por usuario (no editar directamente) |
/etc/anacrontab | Anacron: ejecuta tareas perdidas por apagado |
Con cron bien afinado, puedes automatizar casi todo lo que harías como sysadmin a mano. Solo recuerda testear manualmente tus scripts antes de agendarlos.