crontab

Come configurare i lavori Cron in Linux

Come configurare i lavori Cron in Linux
L'automazione e la pianificazione di attività ripetute su desktop e server migliora la produttività e riduce l'intervento manuale e il monitoraggio. Numerosi strumenti di questo tipo sono disponibili per Linux e uno dei più utilizzati tra questi è "cron".

Questo articolo spiegherà la pianificazione delle attività e l'esecuzione di script a intervalli regolari utilizzando i lavori cron.

Cos'è Cron?

Cron è un programma di pianificazione delle attività che viene eseguito in background come un processo. Può essere utilizzato per eseguire periodicamente determinati lavori pianificati utilizzando il suo set di regole predefinito. Cron è preinstallato sulla maggior parte delle distribuzioni Linux o disponibile nei repository per essere installato manualmente.

Preset Cronron

Cron su Ubuntu viene fornito con una serie di pianificatori predefiniti. Puoi controllarli eseguendo il comando seguente:

$ ls /etc/cron.*

Di solito queste cartelle sono "/etc/cron.ogni ora”, “/etc/cron.quotidiano”, “/etc/cron.mensile” e “/etc/cron.settimanalmente".

Basta inserire gli script desiderati in una di queste cartelle per eseguire attività automatizzate ogni ora, giornalmente, mensilmente o settimanalmente.

Nota che cron usa la shell "/bin/sh" per impostazione predefinita. Se vuoi usare "/bin/bash" come shell negli script cron, devi usare "!# /bin/bash” hashbang nella parte superiore del file di script o definire la shell come variabile “SHELL=/bin/bash” nella prima riga in uno script bash pianificato. L'override della variabile di ambiente "SHELL" funziona anche per l'editor crontab spiegato di seguito.

Non tutte le variabili di ambiente di sistema possono essere esposte ai lavori cron. Quindi è generalmente una buona idea definire manualmente importanti variabili d'ambiente in uno script pianificato da cron.

Crontab

Crontab ti consente di definire le tue attività pianificate. Puoi usarlo per configurare le pianificazioni cron diverse dalle quattro preimpostazioni cron standard spiegate sopra.

Per impostare un'attività pianificata in crontab, avvia prima l'editor crontab usando il comando seguente:

$ crontab -e

Ora alla fine del file, puoi aggiungere una voce nel seguente formato:

minuto ora giorno mese giorno della settimana /completo/percorso/a/script.sh

Dove:

La voce crontab di seguito prenderà uno screenshot del tuo desktop e lo memorizzerà nella tua home directory una volta alle 15:13 del 2 marzo più ogni martedì di marzo alle 15:13.

13 15 2 3 2 scroto

Per elencare tutte le voci crontab, usa il comando seguente:

$ crontab -l

Altri esempi

Le attività di Cron possono essere spiegate al meglio attraverso esempi, quindi di seguito sono riportati alcuni esempi che acquisiranno periodicamente schermate del desktop e le memorizzeranno nella cartella principale.

Oltre alle cinque variabili di pianificazione, cron utilizza anche alcune stringhe speciali per pianificare i lavori. Queste stringhe sono:

La voce crontab di seguito acquisirà lo screenshot una volta ad ogni riavvio:

@reboot scroto

Puoi sostituire "@reboot" con qualsiasi altra stringa speciale menzionata sopra.

L'uso di un asterisco o di un carattere jolly al posto di una qualsiasi delle cinque variabili ripeterà il lavoro su tutte le nuove istanze di quella variabile. La voce seguente acquisirà uno screenshot ogni minuto:

* * * * * scroto

Ogni ora:

0 * * * * scroto

Tutti i giorni alle 18:00:

0 18 * * * scroto

Ogni mese il 6 alle 18:00:

0 18 6 * * scroto

Utilizzare "/" per eseguire uno script a un intervallo periodico fisso di 30 minuti (viene eseguito ogni 30 minuti):

*/30 * * * * scroto

È possibile utilizzare variabili separate da virgole per definire l'esecuzione ripetuta dello script a intervalli regolari. L'esempio seguente prenderà uno screenshot del tuo desktop ogni 1°, 4° e 5° minuto di una nuova ora.

1,4,5 * * * * scroto

Verifica delle voci di Crontab

Definire le voci di crontab può essere complicato, ma il loro debug o la verifica se funzionano con i timestamp corretti è ancora più complicato. Un'opzione è utilizzare una macchina virtuale e registrare i timestamp di uno script in esecuzione periodicamente su un cron job includendo qualcosa come il comando "date" e reindirizzando l'output a un file di testo. Tuttavia, una soluzione migliore è utilizzare uno dei numerosi servizi di test dei lavori cron online disponibili sul web. Consiglio di fornire il sito Web di cron tester disponibile Qui un tentativo.

Conclusione

L'esecuzione di lavori cron è un modo eccellente per automatizzare attività ripetute, specialmente sui server. Lo strumento è estremamente potente e personalizzabile. Tuttavia, è importante accertarsi che la definizione dello scheduler funzioni correttamente, specialmente se ci sono attività mission-critical.

Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...