Torna al blog
Maggio 23, 2026Guide

Come configurare i cron job su un server Linux

Sintassi cron, modifica crontab, esempi di pianificazione e logging per attività automatizzate sul VPS.

Come configurare i cron job su un server Linux

Cron è lo scheduler standard Linux per eseguire script e comandi a orari fissi: backup, pulizia cache, controllo certificati e altro. Questa guida mostra come usare cron sul server Hiddence.

Sintassi cron

Ogni riga ha cinque campi temporali seguiti dal comando:

bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command

# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh

# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.sh

Modificare crontab

Usa crontab -e per l'utente corrente. Per attività di sistema (la maggior parte dei job), usa sudo:

bash
# Edit your user crontab
crontab -e

# Edit root crontab
sudo crontab -e

# List current jobs
crontab -l
sudo crontab -l

Esempi comuni

  • 0 2 * * * — backup giornaliero alle 2:00
  • 0 */6 * * * — ogni 6 ore
  • 0 0 * * 0 — ogni domenica a mezzanotte
  • */5 * * * * — ogni 5 minuti (usare con cautela)
  • @reboot /path/script.sh — eseguire una volta dopo il riavvio
  • @daily /usr/bin/certbot renew --quiet — controllo SSL giornaliero

Log e debug

Reindirizza l'output su un file di log per sapere se un job è fallito:

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# View cron execution in system log:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

Suggerimenti

  • Usa percorsi assoluti nei comandi cron
  • Testa gli script manualmente prima di aggiungerli a crontab
  • Imposta MAILTO=your@email.com in crontab per email di errore (se la posta è configurata)
  • Preferisci systemd timer per dipendenze complesse sui sistemi moderni
  • Non eseguire attività pesanti ogni minuto — può sovraccaricare il VPS