Típicamente listamos el crontab del usuario actual ejecutando crontab -l. Pero, ¿qué pasa si queremos listar como root las tareas programadas de otro usuario? Este artículo explica cómo.

El comando crontab -l permite listar las tareas programadas del usuario actual, por ejemplo:

root@linuxito:~# crontab -l | grep -v '^#'
37 2 * * 2 /usr/bin/certbot renew --quiet --post-hook "/etc/init.d/nginx reload"
10 10 * * * /root/scripts/check_disk_space.bash
11 11 * * * /root/scripts/verify_certs.sh >> /var/log/verify_certs.log

Sin embargo (como usuario root) es posible listar las tareas de cualquier otro usuario, pasándolo como parámetro a la opción -u. Ejemplos:

root@linuxito:~# crontab -l -u www-data | grep -v '^#'
no crontab for www-data
root@vaio:~# crontab -l -u emi | grep -v '^#'
40 * * * * /home/emi/go/bin/drive push -quiet -upload-rate-limit 512 ~/Drive

Si se desea conocer quiénes son los usuarios que tienen tareas programadas (crontabs) definidas, basta con listar el directorio /var/spool/cron/crontabs. Ejemplos:

root@linuxito:~# ll /var/spool/cron/crontabs
total 12K
drwx-wx--T 2 root crontab 4.0K Aug  4 18:18 .
drwxr-xr-x 3 root root    4.0K Jul  8  2019 ..
-rw------- 1 root crontab 1.5K Aug  4 18:18 root
root@vaio:~# ll /var/spool/cron/crontabs
total 4
-rw------- 1 emi crontab 1164 Nov 27 15:29 emi

Para más información, consultar la página de manual: man crontab.

Compartí este artículo