Cómo listar los cron jobs en Linux, de todos los usuarios
Actualizada el 16 de octubre de 2026
Los jobs de un servidor pueden estar en varios lugares: el crontab de cada usuario, el crontab del sistema, /etc/cron.d/, los directorios de /etc/cron.daily/ y, cada vez más, los timers de systemd. Para revisar las tareas programadas con cron y systemd en un servidor, revisa cada uno.
Tu crontab
crontab -l
Si no tienes uno, dice no crontab for y tu usuario. Para editarlo, crontab -e.
El crontab de otro usuario, o de todos
sudo crontab -l -u www-data
Para recorrer los usuarios que conoce el sistema, como root:
sudo sh -c 'for user in $(getent passwd | cut -d: -f1); do
crontab -l -u "$user" 2>/dev/null | grep -v "^\s*#" | sed "s/^/$user: /"
done'
Cada línea aparece con el nombre de su usuario, y los comentarios quedan fuera. getent passwd lista las cuentas locales y las de las otras fuentes que usa el sistema, aunque algunas, como un directorio LDAP, pueden no listar a todos sus usuarios.
Los crontabs se guardan como un archivo por usuario en /var/spool/cron/crontabs/ en Debian y Ubuntu, y en /var/spool/cron/ en RHEL, Fedora y Rocky. Para cambiarlos, usa crontab -e -u <usuario>, no esos archivos.
El crontab del sistema y /etc/cron.d
cat /etc/crontab
ls /etc/cron.d/
cat /etc/cron.d/*
Sus líneas tienen un campo más, con el usuario que ejecuta el comando, después del horario. Los paquetes suelen instalar sus jobs en /etc/cron.d/.
/etc/cron.hourly, daily, weekly y monthly
Los scripts de estos directorios no tienen un horario propio: /etc/crontab, o anacron, los ejecuta todos con run-parts.
ls /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly
run-parts --test /etc/cron.daily # Debian, Ubuntu: los que ejecutaría
run-parts --test deja fuera los archivos que ignoraría, como los que tienen un punto en el nombre.
Los timers de systemd
Muchas distribuciones ya programan sus tareas con timers de systemd en vez de cron. Para verlos todos, con su próxima y su última ejecución:
systemctl list-timers --all
Esos son los del sistema. Cada usuario también puede tener los suyos, que este comando muestra para el usuario actual:
systemctl --user list-timers --all
Decide cuáles vigilar
Con la lista en la mano, los jobs que conviene vigilar son los que, si fallan, notarías tarde: respaldos, importaciones, renovaciones, reportes. Un agente de IA con acceso a tu servidor, como Claude Code, puede revisar el crontab y usar el servidor MCP de CronDrive para crear un monitor por cada línea; los pasos están en la documentación.