Metodi di pagamento Abuse

Cron in Linux: cos'è?

26.02.2023, 13:13

Cron è un'utilità per la pianificazione delle attività nel sistema operativo Linux. Permette di eseguire automaticamente script o comandi a determinati orari, intervalli o eventi.

Come si usa?

Per utilizzare Cron, è necessario creare un file crontab che contenga un elenco di attività e gli intervalli di tempo in cui devono essere eseguite. Ogni task in crontab è una stringa composta da cinque campi separati da spazi:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

Il simbolo * indica un valore qualsiasi, ad esempio, se il campo minuti contiene un *, il task verrà eseguito ogni minuto. Se si desidera impostare un valore specifico per un campo, ad esempio ogni giorno alle 3 del mattino, si deve scrivere 0 3 * * * *.

Per creare o modificare un file crontab, utilizzare il comando crontab -e. Ogni utente può avere il proprio file crontab, oltre al file di sistema /etc/crontab, che contiene i task eseguiti dall'utente root.

Esiste un comando cronjob che consente di eseguire attività all'interno dei contenitori Docker. Funziona in modo simile a crontab, ma i task possono essere eseguiti all'interno del contenitore invece che nel sistema host.

Usare Cron: un algoritmo passo dopo passo

Per iniziare a usare Cron in Linux, seguite i seguenti passaggi:

1. Aprire un terminale e digitare il comando crontab -e. Questo aprirà il file crontab per l'utente corrente.

2. Aggiungete un task al file crontab secondo il formato dei campi descritto sopra. Ad esempio, se si desidera eseguire lo script every_hour.sh ogni ora, aggiungere la riga 0 * * * * * * /path/to/every_hour.sh.

3. Salvate le modifiche e chiudete il file.

4. Verificate che l'attività sia stata aggiunta a crontab usando il comando crontab -l. Verrà visualizzato un elenco di tutti i task aggiunti a crontab.

5. Verificare che il task sia in esecuzione come programmato utilizzando il comando tail -f /var/log/syslog. Verrà visualizzato l'output relativo all'esecuzione del task.

6. Se si desidera rimuovere un task da crontab, utilizzare il comando crontab -r.

Ci sono alcuni punti importanti da tenere a mente:

  • è possibile aggiungere a crontab sia script che comandi. Ma se volete eseguire uno script, assicuratevi che abbia i permessi di esecuzione(chmod +x /path/to/script.sh).
  • se si desidera che l'attività venga eseguita con i diritti di utente root, utilizzare il comando sudo crontab -e per aprire il file crontab per l'utente root.
  • Assicurarsi che i comandi e gli script eseguiti si trovino nella posizione corretta e abbiano i permessi di lettura ed esecuzione corretti.

Si noti che l'ora specificata in crontab corrisponderà all'ora del server che esegue Cron. Se si utilizza un server remoto, assicurarsi che l'ora del server sia configurata correttamente.