GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ver o enumerar trabajos cron en Linux

El nombre Cron proviene de una palabra griega Chronos, que se usa para el tiempo. Es un demonio para los sistemas Linux para automatizar la ejecución de comandos o scripts en intervalos de tiempo específicos.

Este tutorial le mostrará varias opciones para enumerar todos los trabajos cron programados para usuarios en sistemas Linux.

Cómo enumerar los trabajos cron del usuario actual

El comando crontab predeterminado funciona para el usuario que ha iniciado sesión actualmente. Puede enumerar todos los trabajos cron programados para el usuario actual, ejecute:

crontab –l 

Salida:

Todos los trabajos cron de usuario generalmente se encuentran en /var/spool/cron/crontabs directorio. Se crea un archivo separado para todas las cuentas de usuario con su nombre.

Lista de trabajos cron de otro usuario

Un usuario con privilegios de root o sudo también puede ver los cronjobs programados de otros usuarios. Use -u seguido del nombre de usuario para enumerar todos los trabajos que pertenecen a un usuario específico.

Por ejemplo:

sudo crontab –u username –l 

Reemplace el nombre de usuario con el nombre de usuario real que desea ver los trabajos cron.

Lista de tareas cron ejecutadas por sistema

El usuario root puede acceder y modificar los crontab del sistema operativo. Puede ver los cronjobs del sistema ejecutando el siguiente comando como cuenta privilegiada de root o sudo.

less /etc/crontab 

Salida:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
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 )

Cómo listar trabajos cron por hora

Puede ver el directorio /ettc/cron.hourly para encontrar todos los trabajos cron programados para ejecutarse cada hora.

ls -la /etc/cron.hourly 

Salida:

total 20
drwxr-xr-x   2 root root  4096 Apr 23  2020 .
drwxr-xr-x 142 root root 12288 Jan 19 15:21 ..
-rw-r--r--   1 root root   102 Feb 14  2020 .placeholder

El resultado anterior muestra que no hay un programa de trabajo cron para ejecutar cada hora. Puede ver un archivo .placeholder en cada directorio, que se crea para evitar la eliminación accidental del directorio por parte del administrador de paquetes. Cuando no existe ningún otro archivo en el directorio.

Cómo listar trabajos diarios de Cron

Del mismo modo, puede enumerar todos los trabajos programados para ejecutarse diariamente. La mayoría de los trabajos de la aplicación se pueden encontrar en este directorio.

ls -la /etc/cron.daily 

Salida:

total 72
drwxr-xr-x   2 root root  4096 Dec 28 15:28 .
drwxr-xr-x 142 root root 12288 Jan 19 15:21 ..
-rwxr-xr-x   1 root root   311 Jul 16  2019 0anacron
-rwxr-xr-x   1 root root   539 Apr 13  2020 apache2
-rwxr-xr-x   1 root root   376 Dec  5  2019 apport
-rwxr-xr-x   1 root root  1478 Apr  9  2020 apt-compat
-rwxr-xr-x   1 root root   355 Dec 29  2017 bsdmainutils
-rwxr-xr-x   1 root root   384 Nov 19  2019 cracklib-runtime
-rwxr-xr-x   1 root root  1187 Sep  6  2019 dpkg
-rwxr-xr-x   1 root root   377 Jan 21  2019 logrotate
-rwxr-xr-x   1 root root  1123 Feb 25  2020 man-db
-rw-r--r--   1 root root   102 Feb 14  2020 .placeholder
-rwxr-xr-x   1 root root  4574 Jul 18  2019 popularity-contest
-rwxr-xr-x   1 root root   383 Jan  6  2020 samba
-rwxr-xr-x   1 root root   214 Apr  2  2020 update-notifier-common

Cómo listar trabajos cron semanales

Los trabajos cron semanales se programan en el directorio /etc/cron.weekly.

ls -la /etc/cron.weekly 

Salida:

total 32
drwxr-xr-x   2 root root  4096 Apr 23  2020 .
drwxr-xr-x 142 root root 12288 Jan 19 15:21 ..
-rwxr-xr-x   1 root root   312 Jul 16  2019 0anacron
-rwxr-xr-x   1 root root   813 Feb 25  2020 man-db
-rw-r--r--   1 root root   102 Feb 14  2020 .placeholder
-rwxr-xr-x   1 root root   211 Apr  2  2020 update-notifier-common

Cómo enumerar trabajos mensuales de Cron

Todos los trabajos cron mensuales se programan en el directorio /etc/cron.monthly.

ls -la /etc/cron.monthly 

Salida:

total 24
drwxr-xr-x   2 root root  4096 Apr 23  2020 .
drwxr-xr-x 142 root root 12288 Jan 19 15:21 ..
-rwxr-xr-x   1 root root   313 Jul 16  2019 0anacron
-rw-r--r--   1 root root   102 Feb 14  2020 .placeholder

Cómo ver trabajos cron específicos de la aplicación

Mayo de aplicaciones programadas trabajos cron para trabajos regulares. Estos trabajos se pueden encontrar en trabajos cron por hora, diarios, semanales o mensuales.

Por ejemplo, el servidor web Apache creó un archivo de trabajo cron en /etc/cron.daily. Significa que el trabajo se ejecuta diariamente. Puede ver el contenido del trabajo cron accediendo al contenido del archivo de la siguiente manera:

cat /etc/cron.daily/apache2 

Salida:

#!/bin/sh

# run htcacheclean if set to 'cron' mode

set -e
set -u

type htcacheclean > /dev/null 2>&1 || exit 0
[ -e /etc/default/apache-htcacheclean ] || exit 0


# edit /etc/default/apache-htcacheclean to change this
HTCACHECLEAN_MODE=daemon
HTCACHECLEAN_RUN=auto
HTCACHECLEAN_SIZE=300M
HTCACHECLEAN_PATH=/var/cache/apache2/mod_cache_disk
HTCACHECLEAN_OPTIONS=""

. /etc/default/apache-htcacheclean

[ "$HTCACHECLEAN_MODE" = "cron" ] || exit 0

htcacheclean ${HTCACHECLEAN_OPTIONS}    \
                -p${HTCACHECLEAN_PATH}  \
                -l${HTCACHECLEAN_SIZE}

Conclusión

En este tutorial, ha aprendido a ver, enumerar o mostrar trabajos cron en un sistema Linux. Además, encontró detalles sobre trabajos cron ejecutados por hora, día, semana o mes.


Linux
  1. Cómo uso cron en Linux

  2. Cómo ver metadatos de imágenes en Linux

  3. Cómo enumerar u ordenar todos los archivos por tamaño en Linux

  4. Definición de trabajos del sistema utilizando Cron en Linux

  5. ¿Cómo puedo ver los resultados de mis trabajos cron?

Cómo enumerar todos los usuarios en Linux

Cómo enumerar los paquetes instalados en Linux

Cómo enumerar particiones de disco en Linux

Cómo automatizar tareas con trabajos cron en Linux

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

Cómo programar trabajos con Cron en Linux