GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso ottenere un elenco di tutti i lavori cron pianificati sulla mia macchina?

A seconda di come è configurato il tuo sistema Linux, puoi cercare in:

  • /var/spool/cron/* (crontab utente)
  • /etc/crontab (crontab a livello di sistema)

inoltre, molte distribuzioni hanno:

  • /etc/cron.d/* Queste configurazioni hanno la stessa sintassi di /etc/crontab

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

Queste sono semplicemente directory che contengono eseguibili che vengono eseguiti ogni ora, giornalmente, settimanalmente o mensilmente, in base al loro nome di directory.

Inoltre, puoi avere un lavoro (seleziona /var/spool/at/* ), anacron (/etc/anacrontab e /var/spool/anacron/* ) e probabilmente altri che sto dimenticando.


Con la maggior parte dei Cron (ad es. Vixie-Cron - impostazione predefinita Debian/Ubuntu, Cronie - impostazione predefinita Fedora, Solaris Cron ...) ottieni l'elenco dei lavori cron pianificati per l'utente corrente tramite:

$ crontab -l

o per un altro utente tramite

# crontab -l -u juser

Per ottenere i crontab per tutti gli utenti puoi eseguire il loop su tutti gli utenti e chiamare questo comando.

In alternativa, puoi cercare i file di spool. Di solito, vengono salvati sotto /var/spool/cron , per esempio. per vcron seguente directory

/var/spool/cron/crontabs

contiene tutti i crontab configurati di tutti gli utenti, tranne l'utente root che è anche in grado di configurare i lavori tramite il crontab a livello di sistema, che si trova in

/etc/crontab

Con cronie (predefinito su Fedora/CentOS), c'è un .d style config anche per i cron job di sistema:

/etc/cron.d

(Come sempre, il .d directory semplifica il mantenimento delle voci di configurazione che fanno parte di diversi pacchetti.)

Per comodità, la maggior parte delle distribuzioni fornisce anche una directory in cui gli script collegati/memorizzati vengono eseguiti periodicamente, ad esempio:

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

L'esecuzione tempestiva di tali script è generalmente gestita tramite run-parts voci nel sistema crontab o tramite anacron.

Con Systemd (ad es. su Fedora, CentOS 7, ...) l'esecuzione periodica del lavoro può essere configurata anche tramite unità timer. I timer di sistema abilitati possono essere visualizzati tramite:

$ systemctl list-timers

Si noti che gli utenti oltre a root possono avere istanze systemd utente in esecuzione in cui sono configurati anche i timer. Ad esempio, su Fedora, per impostazione predefinita, viene avviata un'istanza systemd utente per ogni utente attualmente connesso. Possono essere riconosciuti tramite:

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

Questi timer utente possono essere elencati tramite:

$ systemctl --user list-timers

Un'alternativa all'emissione del list-timers comando è cercare i file delle unità del timer (schema:*.timer ) e collegamenti simbolici ad essi nelle solite directory systemd config di sistema e utente:

$ 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

(Come con le normali unità di servizio, un'unità timer viene abilitata creando un collegamento simbolico nella directory di configurazione di systemd corretta.)

Vedi anche:

  • Articolo di ArchWiki su Cron
  • Articolo di ArchWiki sui timer di Systemd

Per elencare tutti i cron per un dato utente.

crontab -u nome utente -l;

Per elencare tutti i cron per tutti gli utenti

Eseguilo come superutente

#!/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. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Come pianificare i lavori Cron con Crontab

  3. Come impostare un cron job per eseguire un eseguibile ogni ora?

  4. Linux - Come elencare tutti gli utenti

  5. Come posso elencare tutti i vhost in nginx

Come elencare, visualizzare e visualizzare tutti i lavori Cron correnti in Linux

Come elencare i lavori Cron in Linux

Come eseguire Cron Jobs ogni 5, 10 o 15 minuti

Diversi modi per pianificare ed elencare i lavori CRON in Linux

Come visualizzare o elencare i lavori Cron in Linux

Come eseguire ed elencare i lavori Cron per un sistema Linux tramite PHP