A volte è necessario eseguire il backup dei file importanti settimanalmente, eseguire un comando per monitorare il sistema quotidianamente o persino eseguire automaticamente uno script di notte senza dover rimanere alzati fino a tardi per eseguirlo.
L'automazione delle attività su Ubuntu può essere eseguita tramite un pacchetto chiamato cron. Crontab è l'abbreviazione di cron table ed è un file di configurazione utilizzato per pianificare l'esecuzione periodica dei comandi della shell. Di solito, il file crontab è archiviato in /etc o in una directory in /etc. Solo gli amministratori di sistema con privilegi di root possono modificare il file crontab.
In questo articolo, ti guideremo attraverso il file crontab e come configurare un lavoro cron su Ubuntu facilmente.
Automatizzare e pianificare attività utilizzando Crontab in Ubuntu
Innanzitutto, devi assicurarti che il tuo sistema sia aggiornato utilizzando i seguenti comandi:
sudo apt-get update
Dopo aver inserito la password sudo, l'output dovrebbe essere qualcosa del genere:
sudo apt-get upgrade
Uscita:
Premi Y e attendi fino al termine dell'aggiornamento.
Ora controlla se il pacchetto cron è installato:
dpkg -l cron
Uscita:
Nel caso in cui il pacchetto cron non sia installato, prova a installarlo:
sudo apt-get install cron
Controlla se il servizio cron è in esecuzione:
systemctl status cron
Uscita:
Se non è in esecuzione, prova ad avviarlo:
systemctl start cron
Apri il file crontab usando il tuo editor preferito:
sudo vi /etc/crontab
Uscita:
Per modificare nel file crontab devi stare attento e seguire la sintassi che è:
Minuto Ora giorno del mese Mese Giorno della settimana utente comando
Quindi, diciamo ad esempio che devi creare una directory e spostarvi un file di backup. E hai bisogno che questa attività venga eseguita ogni giorno alle 2:20. Quindi modifica il file crontab e aggiungi la seguente riga:
20 2 * * * hendadel /bin/mkdir testdir &&mv backupfile testdir/
Nota che, l'asterisco (*) nel file crontab indica tutti i valori validi.
Quindi riavvia il servizio cron:
systemctl restart cron
E voilà, la directory è stata creata e il file di registro è stato spostato correttamente.
Uscita:
Puoi reindirizzare l'output del lavoro cron in un file separato e questo può aiutarti nel caso in cui il lavoro cron abbia generato un errore. Ad esempio, eseguiamo nuovamente il lavoro precedente aggiungendo un reindirizzamento all'output in un file separato chiamato logfile (ovviamente darà un errore perché la directory esiste già). Non dimenticare di modificare l'orario di lavoro.
Uscita:
Controlla l'errore scritto nel file di log:
Infine, spero che questo tutorial ti sia utile e se hai bisogno di ottenere maggiori informazioni su cron o crontab puoi controllare le loro pagine di manuale. Inserisci i seguenti comandi nel Terminale.
man cron man crontab