Il nome Cron deriva da una parola greca Chronos, che è usata per il tempo. È un demone per i sistemi Linux per automatizzare l'esecuzione di comandi o script a intervalli di tempo specifici.
Questo tutorial ti mostrerà le diverse opzioni per elencare tutti i processi cron pianificati per gli utenti su sistemi Linux.
Come elencare i lavori Cron dell'utente corrente
Il comando crontab predefinito funziona per l'utente attualmente connesso. Puoi elencare tutti i lavori cron pianificati per l'utente corrente, eseguire:
crontab –l
Uscita:
Tutti i lavori cron degli utenti si trovano generalmente in /var/spool/cron/crontabs directory. Viene creato un file separato per tutti gli account utente con il loro nome.
Elenca i lavori Cron di altri utenti
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.
Ad esempio:
sudo crontab –u username –l
Sostituisci il nome utente con il nome utente effettivo con cui desideri visualizzare i lavori cron.
Elenca i lavori Cron in esecuzione per sistema
L'utente root può accedere e modificare i crontab del sistema operativo. Puoi visualizzare i cronjob del sistema eseguendo il comando seguente come account con privilegi di root o sudo.
less /etc/crontab
Uscita:
# /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 )
Come elencare i lavori Cron orari
È possibile visualizzare la directory /ettc/cron.hourly per trovare tutti i processi cron pianificati per l'esecuzione ogni ora.
ls -la /etc/cron.hourly
Uscita:
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
L'output sopra mostra che non esiste una pianificazione del lavoro cron da eseguire ogni ora. Puoi vedere un file .placeholder in ogni directory, che viene creato per evitare la cancellazione accidentale della directory da parte del gestore di pacchetti. Quando non esistono altri file nella directory.
Come elencare i lavori cron giornalieri
Allo stesso modo, puoi elencare tutti i lavori pianificati da eseguire su base giornaliera. La maggior parte dei lavori dell'applicazione può essere trovata in questa directory.
ls -la /etc/cron.daily
Uscita:
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
Come elencare i lavori Cron settimanali
I lavori cron settimanali sono programmati nella directory /etc/cron.weekly.
ls -la /etc/cron.weekly
Uscita:
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
Come elencare i lavori mensili Cron
Tutti i lavori cron mensili sono programmati nella directory /etc/cron.monthly.
ls -la /etc/cron.monthly
Uscita:
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
Come visualizzare i lavori Cron specifici dell'applicazione
Maggio di applicazioni pianificate cron job per lavori regolari. Questi lavori possono essere trovati sotto i lavori cron orari, giornalieri, settimanali o mensili.
Ad esempio, il server Web Apache ha creato il file di lavoro cron in /etc/cron.daily. Significa che il lavoro viene eseguito su base giornaliera. Puoi vedere il contenuto del lavoro cron accedendo al contenuto del file come di seguito:
cat /etc/cron.daily/apache2
Uscita:
#!/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, elencare o visualizzare i lavori cron su un sistema Linux. Inoltre, hai trovato dettagli sui lavori cron eseguiti su base oraria, giornaliera, settimanale o mensile.