crontab

Crontab in Linux

Crontab in Linux
Con l'avvento delle nuove tecnologie, vogliamo che tutto sia automatizzato, compresi i nostri sistemi informatici. Ad esempio, come amministratore di sistema, potremmo volere che il nostro backup venga eseguito ogni notte alle 2:00 2. Allora qual è lo scopo dei computer se dobbiamo svegliarci ogni giorno alle 2:00 ed eseguire manualmente i comandi per avviare il backup. Dovrebbe esserci un modo che dica al sistema di eseguire automaticamente un backup in un momento specifico. Fortunatamente, il sistema operativo Linux offre un'utilità cron che consente di automatizzare le attività in un periodo specifico.

Cron è un'utilità della riga di comando efficace e popolare utilizzata per pianificare un'ampia gamma di attività in un momento specifico senza interazione dell'utente. Le attività pianificate sono note come lavori cron mentre il crontab è l'elenco del file contenente i lavori cron.

In questo articolo, spiegheremo con vari esempi di esempi che puoi modificare e utilizzare il file crontab per pianificare le attività nel sistema Debian 10.

Cron può essere utilizzato per automatizzare le attività nei seguenti scenari:

Sintassi

È più facile lavorare con cron, una volta compresa la sua sintassi. La sintassi generale per usare cron è:

* * * * /percorso/di/script.sh

Ciascuno dei campi corrisponde a quanto segue:

Minuto (0-59) Ora (0-24) Giorno_del_Mese (1-7) Mese_dell_Anno (1-12)
Comando Giorno_della_settimana  (0-6)

Installazione di Cron

Cron è preinstallato in Debian 10. Tuttavia, se non è presente nel tuo sistema, esegui il seguente comando per installarlo:

$ sudo apt install cron

Visualizza crontab

Per visualizzare il file crontab, utilizzare il seguente comando:

$ crontab -l

Per visualizzare il file crontab di un particolare utente, utilizza il seguente comando:

$ sudo crontab -u utente -l

Modifica crontab

Per modificare il file crontab dell'utente corrente:

$ crontab -e

Per modificare il file crontab di un particolare utente:

$ sudo crontab -u utente

Se stai modificando il file crontab per la prima volta, ti verrà chiesto di scegliere un editor:

Una volta selezionato l'editor, apparirà la seguente finestra.

Ad esempio, vuoi eseguire uno script di backup chiamato "backup.sh" che si trova nella directory dei documenti ogni giorno alle 2:00. Per fare ciò, dovrai aggiungere la seguente riga nel tuo file crontab:

0 2 * * * /Documenti/backup.sh

Nella finestra sopra, puoi aggiungere i tuoi lavori cron uno per uno. Una volta terminato, salva ed esci dal file, dopodiché tutti i lavori cron verranno eseguiti automaticamente all'intervallo specificato.

Rimuovi crontab

Per rimuovere il file crontab, inserisci il seguente comando in Terminale:

$ crontab -r

Ora passiamo a una serie di esempi di lavori cron su una macchina Linux.

1. Esegui un cron job ogni minuto

Per eseguire un cron job ogni minuto, aggiungi la seguente riga nel tuo file crontab:

* * * * * /percorso/per/script.sh

2. Esegui un cron job ogni 10 minuti

Per pianificare un cron job da eseguire ogni 10 minuti, aggiungi la seguente riga nel tuo file crontab.

*/10 * * * * /percorso/per/script.sh

3. Esegui un cron job in mesi specifici

Per pianificare un cron job da eseguire in mesi specifici e.g. Marzo, agosto, dicembre, aggiungi il cron job nel tuo file crontab nel seguente modo:

* * * gennaio, maggio, agosto * /percorso/per/script.sh

4. Esegui un cron job nei giorni selezionati

Se desideri che il tuo cron job venga eseguito nei giorni selezionati, supponiamo che domenica e venerdì alle 17:00, dovrebbe apparire come segue.

0 17 * * dom,ven /percorso/per/script.sh

5. Esegui un cron job ogni giorno a un'ora specifica

Per pianificare un cron job da eseguire ogni giorno a un'ora specifica, diciamo alle 3 del mattino, aggiungi questa riga nel tuo file crontab.

0 3 * * * /percorso/di/script.sh

6. Esegui un cron job in un giorno specifico

Per pianificare un cron job da eseguire in un giorno specifico, diciamo ogni domenica, aggiungi questa riga nel tuo file crontab.

0 0 * * SUN /percorso/per/script.sh

Il lavoro verrà eseguito alle 00:00 di ogni domenica.

7. Esegui più attività in un singolo cron job

Per pianificare più attività in un singolo cron job, aggiungi tutti gli script nel tuo file crontab separandoli con un punto e virgola.

* * * * * /percorso/di/script1.sh; /percorso/di/script2.sh

8. Esegui un cron job su ogni nei giorni feriali

Per pianificare un cron job da eseguire ogni giorno della settimana dal lunedì al venerdì, dovrai aggiungere questa riga nel tuo file crontab.

0 0 * * 1-5 /percorso/a/script.sh

Il lavoro verrà eseguito alle 00:00 di tutti i giorni feriali.

9. Esegui un cron job due volte al giorno

Per pianificare un lavoro da eseguire due volte al giorno e.g. alle 6:00 e alle 15:00, dovrai aggiungere questa riga nel tuo file crontab:

0 6,15 * * * /percorso/di/script.sh

10. Esegui un cron job ogni ora

Per pianificare un cron job da eseguire ogni ora al minuto 0, dovrai aggiungere questa riga nel tuo file crontab:

0 * * * * /percorso/di/script.sh

Ad esempio, se l'ora corrente sono le 14:00, il lavoro verrà eseguito alle 15:00, alle 16:00 e così via.

11. Esegui un cron job ogni 3 ore

Per pianificare un cron job da eseguire ogni 3 ore al minuto 0, dovrai aggiungere questa riga nel tuo file crontab:

0 */3 * * * /percorso/di/script.sh

Ad esempio, se l'ora corrente sono le 14:00, il lavoro verrà eseguito alle 17:00, alle 20:00 e così via.

12. Esegui cron job alle 16:00 il primo di ogni mese

Per pianificare un lavoro da eseguire il primo giorno di ogni mese alle 16:00, dovrai aggiungere questa riga nel tuo file crontab:

0 16 1 * * /percorso/di/script.sh

Corde in Crontab

Puoi anche usare le seguenti stringhe invece dei lunghi comandi ripetitivi.

@hourly- Esegui cron job ogni ora i.e. “0 * * * *“
@midnight- Esegui cron job ogni giorno i.e. “0 0 * * *“
@giornaliero- come mezzanotte
@weekly- Esegui cron job ogni settimana, i.e. “0 0 * * 0“
@monthly- Esegui cron job ogni mese i.e. “0 0 1 * *“
@annually- Esegui cron job ogni anno i.e. “0 0 1 1 *“
@annuale- come @annuale
@reboot- Esegui cron job ad ogni avvio

Ad esempio, per eseguire il cron job ogni giorno nel primo minuto e nella prima ora, aggiungi la seguente riga:

@giornaliero /percorso/per/script.sh

Ad esempio, per eseguire il cron job ogni volta che il server viene riavviato:

@reboot /percorso/per/script.sh

Questo è tutto quello che c'è da fare! In questo articolo abbiamo imparato come automatizzare varie attività usando crontab nel sistema Debian. Utilizzando gli esempi precedenti, puoi pianificare qualsiasi tipo di lavoro da avviare senza alcuna interazione da parte dell'utente.

Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...