← Tutti gli articoliLinux e strumenti

Linux e strumenti

Abilitare Cron log in Debian

Matteo Galacci ·

Per capire se cron avvia un job su Debian con systemd, leggi prima il journal. Per un file cron.log dedicato serve anche rsyslog.

1. Controlla il servizio

systemctl status cron
sudo journalctl -u cron.service --since today

Se cron non è installato: sudo apt install cron, poi sudo systemctl enable --now cron. I messaggi di avvio non includono necessariamente stdout e stderr del comando eseguito.

2. Attiva un file di log dedicato

Se ti serve, installa rsyslog con sudo apt install rsyslog. Controlla le regole cron già presenti in /etc/rsyslog.conf e /etc/rsyslog.d. In assenza di una regola equivalente crea /etc/rsyslog.d/30-cron.conf con:

cron.*    /var/log/cron.log
sudo rsyslogd -N1 && sudo systemctl restart rsyslog
logger -p cron.notice "prova-log-cron"
sudo tail /var/log/cron.log

Devi vedere prova-log-cron. Questo verifica l’instradamento del log, non l’esecuzione dello scheduler.

3. Prova un job reale

Con crontab -e aggiungi temporaneamente:

* * * * * /usr/bin/date >> "$HOME/cron-prova.log" 2>&1

Dopo uno o due minuti, il file cron-prova.log nella tua home deve contenere una data. Rimuovi subito la riga di prova dal crontab. Se vuoi conservare cron.log, aggiungilo alla rotazione dei log: non lasciarlo crescere indefinitamente.

Fonti e approfondimenti