Cómo ver y listar trabajos cron usando crontab
La utilidad cron en sistemas operativos similares a Unix permite a los usuarios programar tareas (comandos o scripts) para que se ejecuten automáticamente en momentos o intervalos específicos. Ya sea que estés manteniendo un servidor o gestionando tareas automatizadas en una máquina local, cron es una herramienta esencial para administradores de sistemas y desarrolladores.
Este artículo explica cómo ver y listar trabajos de cron utilizando el comando
crontab¿Qué es el comando Crontab?
Crontab (abreviatura de “tabla cron”) es un archivo que define tareas programadas para el demonio cron. Cada usuario en un sistema, incluido el usuario
rootUna entrada de crontab sigue esta sintaxis:
* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)
Esta estructura permite un control preciso sobre cuándo se ejecutan las tareas, haciendo de cron una poderosa herramienta de automatización.
Cómo listar trabajos de cron usando Crontab
El comando
crontab1. Ver tus propios trabajos de cron
Para mostrar los trabajos de cron del usuario actualmente conectado, ejecuta:
crontab -lEste comando lista todos los trabajos de cron programados para el usuario actual. Si no existen trabajos de cron, puede devolver una salida vacía o un mensaje indicando que no se ha definido ningún crontab.
Ejemplo de salida:
# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
En este ejemplo:
- Un script de respaldo se ejecuta diariamente a medianoche.
- Un script de limpieza se ejecuta todos los domingos a las 2:30 AM.
2. Listar trabajos de cron para otro usuario
Si tienes
sudo-usudo crontab -l -u usernameReemplaza
usernamesudo crontab -l -u johnEsto muestra todos los trabajos de cron programados para el usuario especificado.
3. Listar trabajos de cron a nivel de sistema
Además de los trabajos de cron específicos de usuario, hay tareas de cron a nivel de sistema programadas por el sistema o el usuario root. Estas suelen almacenarse en:
/etc/crontab/etc/cron.d//var/spool/cron/crontabs/
Para ver el archivo crontab principal del sistema, ejecuta:
cat /etc/crontabEjemplo de salida:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Esta configuración programa tareas de mantenimiento del sistema cada hora, diariamente, semanalmente y mensualmente.
Para listar archivos de cron adicionales del sistema, ejecuta:
ls /etc/cron.d/Cada archivo en este directorio puede definir tareas programadas adicionales para servicios del sistema.
4. Ver trabajos de cron en /var/spool/cron
Los archivos crontab específicos de usuario suelen almacenarse en
/var/spool/cron/crontabsls /var/spool/cron/crontabsPara ver el contenido del archivo crontab de un usuario específico:
cat /var/spool/cron/crontabs/usernameEsto proporciona la misma salida que
crontab -l -u usernameEditar trabajos de cron
Para editar o agregar trabajos de cron para el usuario actual, ejecuta:
crontab -eEsto abre el archivo crontab en el editor de texto predeterminado. Después de guardar y salir, los cambios entran en vigor de inmediato.
Ejemplo: ejecutar un script todos los días a las 3:00 AM:
0 3 * * * /home/user/script.shComandos comunes para listar Crontab
- Listar trabajos de cron del usuario actual:
crontab -l - Listar trabajos de cron de otro usuario (se requiere sudo):
sudo crontab -l -u username - Ver crontab del sistema:
cat /etc/crontab - Listar archivos de cron en /etc/cron.d/:
ls /etc/cron.d/ - Listar crontabs de usuario:
ls /var/spool/cron/crontabs
Conclusión
Ver y listar trabajos de cron utilizando
crontabAl dominar cron, puedes automatizar tareas repetitivas, gestionar respaldos y mantener una ejecución consistente de scripts en tu entorno.
