GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo obtener una lista de todos los trabajos cron programados en mi máquina?

Dependiendo de cómo esté configurado su sistema Linux, puede buscar en:

  • /var/spool/cron/* (usuario crontabs)
  • /etc/crontab (crontab en todo el sistema)

además, muchas distribuciones tienen:

  • /etc/cron.d/* Estas configuraciones tienen la misma sintaxis que /etc/crontab

  • /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly , /etc/cron.monthly

Estos son simplemente directorios que contienen ejecutables que se ejecutan cada hora, día, semana o mes, según su nombre de directorio.

Además de eso, puede tener trabajos en (marque /var/spool/at/* ), anacron (/etc/anacrontab y /var/spool/anacron/* ) y probablemente otros que estoy olvidando.


Con la mayoría de los Cron (p. ej., Vixie-Cron - Debian/Ubuntu predeterminado, Cronie - Fedora predeterminado, Solaris Cron...) obtiene la lista de trabajos cron programados para el usuario actual a través de:

$ crontab -l

o para otro usuario a través de

# crontab -l -u juser

Para obtener los crontabs para todos los usuarios, puede recorrer todos los usuarios y ejecutar este comando.

Alternativamente, puede buscar los archivos de spool. Por lo general, se guardan en /var/spool/cron , p.ej. para el siguiente directorio de vcron

/var/spool/cron/crontabs

contiene todos los crontabs configurados de todos los usuarios, excepto el usuario raíz, que también puede configurar trabajos a través del crontab de todo el sistema, que se encuentra en

/etc/crontab

Con cronie (predeterminado en Fedora/CentOS), hay un .d directorio de configuración de estilo para trabajos cron del sistema, también:

/etc/cron.d

(Como siempre, el .d simplifica el mantenimiento de las entradas de configuración que forman parte de diferentes paquetes).

Para mayor comodidad, la mayoría de las distribuciones también proporcionan directorios donde los scripts vinculados/almacenados se ejecutan periódicamente, por ejemplo:

/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly

La ejecución oportuna de esos scripts generalmente se administra a través de run-parts entradas en el crontab del sistema o a través de anacron.

Con Systemd (por ejemplo, en Fedora, CentOS 7, ...) la ejecución periódica de trabajos se puede configurar adicionalmente a través de unidades de temporizador. Los temporizadores del sistema habilitados se pueden mostrar a través de:

$ systemctl list-timers

Tenga en cuenta que los usuarios además de root pueden tener instancias de systemd de usuario ejecutándose donde también se configuran los temporizadores. Por ejemplo, en Fedora, de forma predeterminada, se inicia una instancia de systemd de usuario para cada usuario que está conectado actualmente. Se pueden reconocer a través de:

$ ps aux | grep 'systemd[ ]--user'

Esos temporizadores de usuario se pueden enumerar a través de:

$ systemctl --user list-timers

Una alternativa a emitir el list-timers El comando es buscar archivos de unidades de temporizador (patrón:*.timer ) y enlaces simbólicos a ellos en los directorios de configuración habituales del sistema y del usuario systemd:

$ find /usr/lib/systemd/ /etc/systemd -name '*.timer'
$ find /home '(' -path '/home/*/.local/share/systemd/user/*' \
              -o -path '/home/*/.config/systemd/*' ')' \
      -name '*.timer'  2> /dev/null

(Al igual que con las unidades de servicio normales, una unidad de temporizador se habilita mediante la creación de un enlace simbólico en el directorio de configuración de systemd derecho).

Véase también:

  • Artículo de ArchWiki sobre Cron
  • Artículo de ArchWiki sobre Systemd Timers

Para enumerar todos los cron para el usuario dado.

crontab -u nombre de usuario -l;

Para listar todos los crones para todos los usuarios

Ejecutarlo como superusuario

#!/bin/bash
#List all cron jobs for all users
for user in `cat /etc/passwd | cut -d":" -f1`;
do 
crontab -l -u $user;
done

Linux
  1. Centos:¿cómo ver todos los registros de Cron en Centos7?

  2. ¿Cómo se actualiza /etc/motd?

  3. Cómo programar trabajos de Cron con Crontab

  4. ¿Cómo configurar un trabajo cron para ejecutar un ejecutable cada hora?

  5. Linux - Cómo enumerar todos los usuarios

Cómo enumerar, mostrar y ver todos los trabajos actuales de Cron en Linux

Cómo listar trabajos cron en Linux

Cómo ejecutar trabajos cron cada 5, 10 o 15 minutos

Diferentes formas de programar y enumerar trabajos CRON en Linux

Cómo ver o enumerar trabajos cron en Linux

Cómo ejecutar y enumerar trabajos cron para un sistema Linux a través de PHP