GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Automatizza le attività di sistema utilizzando Crontab su Ubuntu

In questo tutorial, ti mostreremo come utilizzare Ubuntu crontab . In pochi semplici passaggi ti spiegheremo come automatizzare le tue attività di sistema su Ubuntu, usando crontab in Ubuntu. L'utilità software cron è un programma di pianificazione dei lavori basato sul tempo nei sistemi operativi simili a Unix. Cron è guidato da un file crontab (cron table), un file di configurazione che specifica i comandi della shell da eseguire periodicamente in base a una determinata pianificazione. I file crontab sono archiviati dove sono conservati gli elenchi di lavori e altre istruzioni per il demone cron. Gli utenti possono avere i propri file crontab individuali e spesso c'è un file crontab a livello di sistema (di solito in /etc o una sottodirectory di /etc) che solo gli amministratori di sistema possono modificare.

Puoi usare cron su Ubuntu per eseguire automaticamente gli script entro un determinato periodo di tempo, creare un backup dei tuoi database o altri file importanti, monitorare i servizi in esecuzione sul tuo server e molte altre cose. Segui i passaggi seguenti per configurare il crontab di Ubuntu.

1. Collegati al tuo server e aggiorna il tuo sistema

Prima di iniziare a configurare crontab sul tuo server Ubuntu, connettiamoci al tuo VPS tramite SSH e aggiorniamo il software di sistema all'ultima versione disponibile.

Possiamo farlo eseguendo il seguente comando:

apt-get update && apt-get upgrade

2. Controlla se il pacchetto cron è installato

Per utilizzare l'utilità cron, dobbiamo assicurarci che il pacchetto cron sia installato sul tuo server.

Per verificare se cron è installato, possiamo eseguire il seguente comando:

dpkg -l cron

3. Installa il pacchetto cron su Ubuntu

Se il pacchetto cron non è installato sul tuo server, puoi installarlo con il gestore pacchetti:

apt-get install cron

4.Verifica se il servizio cron è in esecuzione

Per verificare se il servizio cron è in esecuzione sul tuo sistema, possiamo usare il seguente comando:

systemctl status cron

5. Configura i lavori cron su Ubuntu

Per impostare i lavori cron, è necessario modificare il file /etc/crontab. Tieni presente che questo file può essere modificato solo dall'utente root.
Puoi modificare il file crontab con il tuo editor di testo preferito, ad esempio:

nano /etc/crontab

Il contenuto di questo file di solito è simile al seguente:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# 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
37 * * * * root run-parts /etc/cron.hourly
23 5 * * * root run-parts /etc/cron.daily
19 3 * * 0 root run-parts /etc/cron.weekly
23 0 6 * * root run-parts /etc/cron.monthly

Come puoi vedere, il file crontab contiene già una spiegazione su come definire i tuoi lavori cron. La sintassi è la seguente:

minute hour day month day_of_week username command

Un asterisco (*) nel crontab può essere utilizzato per specificare tutti i valori validi, quindi se hai bisogno di un comando da eseguire ogni giorno a mezzanotte, puoi aggiungere il seguente cron job:

0 0 * * * root /sample_command >/dev/null 2>&1

Utenti specifici possono anche creare lavori cron. I lavori cron specifici dell'utente si trovano in /var/spool/cron/username.

Quando crei lavori cron per utenti specifici non è necessario specificare il nome utente nel lavoro cron. La sintassi per i cronjob specifici dell'utente dovrebbe essere simile a questa:

minute hour day month day_of_week command

6. Esempi di crontab di Ubuntu

Diamo un'occhiata ad alcuni esempi crontab più utili.

Supponiamo di voler programmare uno script di backup da eseguire ogni giorno alle 4:30. Possiamo quindi impostare il seguente processo cron:

30 4 * * * /path/to/script/backup-script.sh

Oppure, ad esempio, se vogliamo programmare il backup il primo giorno di ogni mese alle 20:00, possiamo invece impostare il seguente cron job:

0 18 1 * * /path/to/script/backup-script.sh

Possiamo anche utilizzare alcuni dei seguenti timestamp:

@hourly path/to/script/script.sh
@daily path/to/script/script.sh
@weekly path/to/script/script.sh
@monthly path/to/script/script.sh
@reboot path/to/script/script.sh

Questo pianificherà l'esecuzione del lavoro cron all'inizio di ogni ora/giorno/settimana/mese o al riavvio del server.

Se gli script generano qualsiasi tipo di output, inclusi gli errori, possiamo impostare il lavoro cron per registrare questo output in un file separato. Ad esempio, il seguente cron verrà eseguito tre volte al giorno alle 4:00, 10:00 e 16:00 ogni mercoledì e sabato e qualsiasi output (standard ed errore) verrà registrato nel file backup.log:

0 4,10,16 * * wed,sat path/to/script/script.sh > /path/to/logs/backup.log 2>&1

Se non vogliamo che venga generato alcun output, possiamo reindirizzare sia l'errore standard che l'output standard su /dev/null che scarterà tutte le informazioni scritte su di esso:

0 4,10,16 * * wed,sat path/to/script/script.sh > /dev/null 2>&1

7. Riavvia il servizio cron

Dopo aver apportato le modifiche a crontab dovrai riavviare il servizio cron usando il seguente comando:

systemctl restart cron

8. Manuale crontab di Linux

Per ulteriori informazioni su Linux cron, puoi anche controllare le pagine man con:

man cron

e

man crontab

Se è difficile per te impostare i lavori cron corretti all'inizio, puoi usare un calcolatore di lavori cron per generare l'espressione del lavoro cron. Ci sono molti buoni calcolatori di cron job disponibili su Internet.

Vedi anche:automatizzare le attività di sistema con Crontab su CentOS 7

Naturalmente, non è necessario utilizzare Ubuntu crontab se utilizzi uno dei nostri hosting Ubuntu completamente gestiti, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di aiutarti con crontab su Ubuntu per automatizzare le attività di sistema. Sono disponibili 24 ore su 24, 7 giorni su 7 e pianificheranno immediatamente qualsiasi attività di sistema utilizzando crontab sul tuo server Ubuntu!

PS. Se ti è piaciuto questo post su Ubuntu crontab e come automatizzare le attività di sistema , condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie


Panels
  1. Suggerimenti Linux per l'utilizzo di cron per pianificare le attività

  2. Scarica un file su Ubuntu utilizzando la riga di comando sul sistema Ubuntu 20.04

  3. Come creare uno script di avvio utilizzando Crontab in Lubuntu Linux

  4. Ubuntu:come scoprire quale sistema di driver X11 sta utilizzando?

  5. Come impostare le attività di automazione su un VPS Linux utilizzando Cron?

Come automatizzare i riavvii del sistema utilizzando il modulo di riavvio di Ansible

Come automatizzare le attività con cron Jobs in Linux

Backup e ripristino delle applicazioni Ubuntu utilizzando Aptik

Come pianificare attività su Ubuntu 20.04 utilizzando Crontab

Come pulire il tuo sistema Ubuntu usando lo strumento Bleachbit

Come installare Webmin su Ubuntu 20.04