Come visualizzare o elencare i cron job su Linux

22 gen 2021 5 min di lettura
Come visualizzare o elencare i cron job su Linux
Indice dei contenuti

Introduzione

Il nome Cron deriva da una parola greca Chronos, usata per indicare il tempo. È un demone per i sistemi Linux per automatizzare l'esecuzione di comandi o script a intervalli di tempo specificati.

Questo tutorial ti mostrerà le diverse opzioni per elencare tutti i cron job pianificati per gli utenti su sistemi Linux.

Come elencare i cron job dell'utente corrente

Il comando crontab predefinito funziona per l'utente attualmente connesso. Puoi elencare tutti i cron job pianificati per l'utente corrente, eseguire:

crontab –l 

Dovresti ricevere un messaggio di output che mostra tutti i cron che hai impostato sul server.

Tutti i lavori cron dell'utente si trovano generalmente nella directory /var/spool/cron/crontabs. Viene creato un file separato per tutti gli account utente con il loro nome.

Elencare i Cron Job di un altro utente

Un utente con privilegi root o sudo può anche visualizzare i cronjob pianificati di altri utenti. Usa -u seguito dal nome utente per elencare tutti i lavori che appartengono a un utente specifico.

Per esempio:

sudo crontab –u username –l 

Sostituisci username con il nome utente effettivo che desideri visualizzare sui cron job.

Elencare i Cron Job in esecuzione dal sistema

L'utente root può accedere e modificare i crontab del sistema operativo. È possibile visualizzare i cronjob del sistema eseguendo il seguente comando come account privilegiato root o sudo.

less /etc/crontab 

Dovresti visualizzare un messaggio di output con la lista di tutti i Cron Job del sistema operativo:

# /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

# 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 )
#
/etc/crontab (END)

Come elencare i Cron Job orari

È possibile visualizzare la directory /etc/cron.hourly per trovare tutti i cron job pianificati per essere eseguiti ogni ora.

ls -la /etc/cron.hourly 

Dovresti visualizzare un messaggio di output con la lista di tutti i Cron Job configurati per essere eseguiti ogni ora:

total 12
...
drwxr-xr-x  2 root root 4096 Feb 17  2019 .
drwxr-xr-x 99 root root 4096 Jan 20 06:04 ..
-rw-r--r--  1 root root  102 Nov 16  2017 .placeholder
...

L'output sopra mostra che non esiste una pianificazione dei processi cron da eseguire ogni ora. Puoi vedere un file .placeholder in ogni directory, che viene creato per evitare l'eliminazione accidentale della directory dal gestore dei pacchetti. Quando nessun altro file esiste nella directory.

Come elencare i Cron Job giornalieri

Allo stesso modo, è possibile elencare tutti i job pianificati da eseguire su base giornaliera. La maggior parte dei lavori dell'applicazione può essere trovata in questa directory.

ls -la /etc/cron.daily 

Dovresti visualizzare un messaggio di output con la lista di tutti i Cron Job giornalieri:

total 64
drwxr-xr-x  2 root root 4096 Dec 10 06:57 .
drwxr-xr-x 99 root root 4096 Jan 20 06:04 ..
-rwxr-xr-x  1 root root  376 Nov 20  2017 apport
-rwxr-xr-x  1 root root 1478 Apr 20  2018 apt-compat
-rwxr-xr-x  1 root root  314 Jan 17  2018 aptitude
-rwxr-xr-x  1 root root  355 Dec 29  2017 bsdmainutils
-rwxr-xr-x  1 root root 1176 Nov  2  2017 dpkg
-rwxr-xr-x  1 root root  372 Aug 21  2017 logrotate
-rwxr-xr-x  1 root root 1065 Apr  7  2018 man-db
-rwxr-xr-x  1 root root  539 Jun 26  2018 mdadm
-rwxr-xr-x  1 root root  538 Mar  1  2018 mlocate
-rwxr-xr-x  1 root root  249 Jan 25  2018 passwd
-rw-r--r--  1 root root  102 Nov 16  2017 .placeholder
-rwxr-xr-x  1 root root 3477 Feb 21  2018 popularity-contest
-rwxr-xr-x  1 root root  246 Mar 21  2018 ubuntu-advantage-tools
-rwxr-xr-x  1 root root  214 Jun 27  2018 update-notifier-common
...

Come elencare i Cron Job settimanali

I cron job settimanali sono programmati nella directory /etc/cron.weekly.

ls -la /etc/cron.weekly 

Dovresti visualizzare un messaggio di output con la lista dei Cron Job settimanali:

total 64
drwxr-xr-x  2 root root 4096 Dec 10 06:57 .
drwxr-xr-x 99 root root 4096 Jan 20 06:04 ..
-rwxr-xr-x  1 root root  376 Nov 20  2017 apport
-rwxr-xr-x  1 root root 1478 Apr 20  2018 apt-compat
-rwxr-xr-x  1 root root  314 Jan 17  2018 aptitude
-rwxr-xr-x  1 root root  355 Dec 29  2017 bsdmainutils
-rwxr-xr-x  1 root root 1176 Nov  2  2017 dpkg
-rwxr-xr-x  1 root root  372 Aug 21  2017 logrotate
-rwxr-xr-x  1 root root 1065 Apr  7  2018 man-db
-rwxr-xr-x  1 root root  539 Jun 26  2018 mdadm
-rwxr-xr-x  1 root root  538 Mar  1  2018 mlocate
-rwxr-xr-x  1 root root  249 Jan 25  2018 passwd
-rw-r--r--  1 root root  102 Nov 16  2017 .placeholder
-rwxr-xr-x  1 root root 3477 Feb 21  2018 popularity-contest
-rwxr-xr-x  1 root root  246 Mar 21  2018 ubuntu-advantage-tools
-rwxr-xr-x  1 root root  214 Jun 27  2018 update-notifier-common
...

Come elencare i Cron Job mensili

Tutti i cron job mensili sono programmati nella directory /etc/cron.monthly.

ls -la /etc/cron.monthly 

Dovresti visualizzare un messaggio di output con la lista dei Cron Job mensili:

total 12
drwxr-xr-x  2 root root 4096 Feb 17  2019 .
drwxr-xr-x 99 root root 4096 Jan 20 06:04 ..
-rw-r--r--  1 root root  102 Nov 16  2017 .placeholder
...

Come visualizzare i Cron Job specifici dell'applicazione

I cron job possono essere creati dalle applicazioni e possono essere cron job che vengono eseguiti ogni ora, giornalieri, settimanali o mensili.

Ad esempio, il server Web Apache crea il file del cron in /etc/cron.daily. Significa che il job viene eseguito su base giornaliera. Puoi vedere il contenuto del job cron accedendo al contenuto del file come di seguito:

cat /etc/cron.daily/apache2 

Dovresti visualizzare un messaggio di output con la lista di tutti i Cron Job giornalieri:

#!/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}

Conclusione

In questo tutorial, hai imparato a visualizzare ed elencare i cron job su un sistema Linux. Inoltre, hai trovato dettagli sui cron job eseguiti su base oraria, giornaliera, settimanale o mensile.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.