Unidad 5.3: cron/anacron y at

Automatizacion de tareas recurrentes y ejecuciones puntuales

Author

Diego Saavedra

Published

Feb 1, 2026

Unidad 5.3: cron/anacron y at

Introduccion

El brochure del curso incluye cron/anacron y at dentro de la Unidad 5. En administracion de servidores, estas herramientas permiten automatizar:

  • backups
  • limpieza (logs, temporales)
  • reportes
  • tareas de mantenimiento

Tiempo estimado: 60-90 minutos


cron: tareas recurrentes

Editar el crontab del usuario:

BASH
1$ crontab -e
1
crontab -e abre el crontab del usuario actual

Listar tareas del usuario:

BASH
1$ crontab -l
30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
1
crontab -l lista tareas programadas del usuario

anacron: recuperar tareas si el equipo estuvo apagado

BASH
1$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
1   5   cron.daily   nice run-parts --report /etc/cron.daily
7   10  cron.weekly  nice run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly nice run-parts --report /etc/cron.monthly
1
/etc/anacrontab define tareas diarias/semanales/mensuales tolerantes a apagados

at: ejecutar una sola vez en el futuro

BASH
1$ echo "systemctl restart nginx" | at 03:00
warning: commands will be executed using /bin/sh
job 12 at Sun Feb  1 03:00:00 2026

2$ atq
12  Sun Feb  1 03:00:00 2026 a usuario

3$ atrm 12
1
at 03:00 programa una ejecucion unica a las 03:00
2
atq lista jobs pendientes
3
atrm elimina un job programado
WarningADVERTENCIA CRITICA

Cron no tiene el mismo entorno que tu terminal.

Lo que podria salir mal: - El script falla por PATH distinto. - El job corre sin logs y no sabes por que fallo.

Como prevenirlo: 1. Usa rutas absolutas a binarios y scripts. 2. Redirige stdout/stderr a un log (>> ... 2>&1). 3. Prueba el comando manualmente antes de programarlo.


Ejemplo practico multi-SO

Linux

BASH
1$ crontab -l
30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
1
crontab -l muestra las tareas del usuario

macOS

BASH
1$ ls -1 /Library/LaunchDaemons | head -n 5
com.apple.alf.agent.plist
com.apple.atrun.plist
com.apple.backupd-auto.plist
1
LaunchDaemons es el mecanismo recomendado en macOS (equivalente conceptual)

Windows

POWERSHELL
1PS> Get-ScheduledTask | Select-Object -First 5 TaskName,State

TaskName                         State
--------                         -----
\Microsoft\Windows\Defrag\ScheduledDefrag Ready
\Microsoft\Windows\UpdateOrchestrator\Schedule Scan Ready
1
Get-ScheduledTask lista tareas programadas
Aspecto Linux macOS Windows
Recurrente cron/anacron launchd Task Scheduler
Una vez at (launchd) Task Scheduler

Mejores practicas

TipRECOMENDACION

Toda automatizacion debe ser observable.

Casos de uso: - Backups y mantenimiento.

Cuando aplicar: 1. Loguea ejecucion y errores. 2. Agrega validaciones (por ejemplo: chequear espacio antes del backup). 3. Documenta el job (que hace, donde deja logs, como desactivarlo).


Resumen

  • cron automatiza tareas recurrentes.
  • anacron ejecuta tareas aunque el equipo estuviera apagado.
  • at programa ejecuciones unicas.

Referencias

Code Appendix