Documentazione

Avvio rapido + descrizione di ogni funzione per ogni sezione e dispositivo (in continuo aggiornamento)

Attività pianificate (Cron)

Questo documento spiega come gestire le attività pianificate sul server di destinazione.

Prima di tutto: cos'è Cron

Cron è lo strumento di «pianificazione temporale» integrato in Linux. Puoi fargli «eseguire il backup del database ogni notte alle 3», «pulire i log ogni ora», «riavviare un servizio ogni lunedì»: l'esecuzione parte da sola all'orario stabilito, senza che nessuno debba controllare.

Panoramica delle funzionalità

Visualizzare, aggiungere ed eliminare le attività pianificate Cron sul server di destinazione.

Scenari d'uso

  • Backup periodico del database, pulizia dei log
  • Esecuzione periodica di script di monitoraggio
  • Riavvio periodico di servizi, aggiornamento dei certificati

Come si usa

Entra nel «Pannello di gestione di sistema → Attività pianificate» di un server e vedrai tutte le attività Cron attualmente presenti su quel server.

Aggiungere un'attività

Compila l'espressione Cron e il comando da eseguire:

CampoDescrizione
Espressione temporalea 5 segmenti, come 0 3 * * * (ogni notte alle 3)
Comandoil comando shell da eseguire

Formato dell'espressione Cron (minuto ora giorno mese settimana):

* * * * *  comando
│ │ │ │ │
│ │ │ │ └── giorno della settimana (0-7, 0/7=domenica)
│ │ │ └──── mese (1-12)
│ │ └────── giorno del mese (1-31)
│ └──────── ora (0-23)
└────────── minuto (0-59)

Esempi comuni:

EspressioneSignificato
*/5 * * * *ogni 5 minuti
0 * * * *ogni ora
0 3 * * *ogni notte alle 3
0 3 * * 1ogni lunedì alle 3 del mattino
0 3 1 * *il 1° di ogni mese alle 3 del mattino
0 3 * * 0ogni domenica alle 3 del mattino
30 2 * * *ogni notte alle 2:30

Esempi di comandi utili:

# Backup del database ogni notte alle 3 (esempio)
0 3 * * * docker exec sshe-mysql mariadb-dump -uroot -p'<password>' nome-database > /opt/backup/db-$(date +\%F).sql

# Pulizia dei file temporanei ogni 6 ore
0 */6 * * * find /tmp -type f -mtime +7 -delete

# Riavvio di un servizio ogni lunedì alle 4 del mattino
0 4 * * 1 systemctl restart my-app

Avvertenze

1. Le attività Cron vengono eseguite con l'identità dell'utente corrente del server di destinazione: assicurati che quell'utente abbia i permessi per eseguire il comando.

2. Nei comandi conviene usare percorsi assoluti (Cron ha poche variabili d'ambiente, con percorsi relativi il programma potrebbe non essere trovato).

3. Se nel comando usi % devi fare l'escape con \% (Cron tratta % come carattere speciale).

4. L'eliminazione di un'attività Cron ha effetto immediato.

5. Modificare il Cron di sistema (/etc/crontab) può richiedere operazioni fuori dal pannello: per impostazione predefinita il pannello gestisce il crontab -l dell'utente corrente.