Linux y Sysadmin

⏰ Guía Rápida de Cron para Administradores de Servidores Linux

CRON es el demonio de tareas programadas en Linux. Te permite ejecutar scripts o comandos en intervalos definidos

En esta página
Una ilustración de estilo infografía técnica para una guía de tareas Cron para servidores Linux. El texto superior dice: "GUÍA RÁPIDA DE CRON PARA ADMINISTRADORES DE SERVIDORES LINUX". En el centro, un administrador usa una tableta para ver la sintaxis de tareas. Diferentes bloques de servidores están etiquetados para scripts, sintaxis de cron y tareas completadas, con múltiples iconos de relojes y calendarios.

⏰ 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

shell
# 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

shell
# ┌──────── 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

shell
# 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

shell
# 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

shell
# 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

shell
# 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.
Jose Tejero

Comentarios

Deja un comentario

Los comentarios se publican tras moderación.

Sé la primera persona en comentar.