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