Debian con Plesk 9 – /etc/cron.daily/logrotate: syntax error at 168
29 novembre 2009
Dopo l’installazione di un server Debian 4.0 (etch), ogni notte, al lancio dei vari cron, ricevevo queste email dal server:
/etc/cron.daily/logrotate:
syntax error at 168
error: error running postrotate script for /var/log/syslog
run-parts: /etc/cron.daily/logrotate exited with return code 1
Googlando purtroppo ho trovato tante informazioni diverse, chi consigliava di reinstallare pacchetti, chi addirittura l’intera distribuzione.
Mi sembrava però fattibile la soluzione, in fondo è un banale errore di sintassi su di un file…
L’unico problema è che, come capita spesso, l’errore di sintassi non è sui file descritti dalla mail, ma bensì su file di configurazione inclusi in particolare in:
/etc/syslog-ng/syslog-ng.conf
Se lanciate infatti il comando di controllo della sintassi:
syslog-ng --syntax-only
Il vostro sistema vi restituirà l’errore di sintassi:
syntax error at 168
ATTENZIONE
Tutte le procedure che vi descriverò sono da fare con permessi di root. Vige sempre la regola del backup compulsivo, copiate il file prima di fare le modifiche.
Apriamo il file con il nostro editor preferito (nano ad esempio), e andate alla riga 168. E’ sufficiente commentare le tre righe incriminate:
filter f_messages { not (facility(news) or filter(f_iptables)) or filter(f_mailwarn); };
# Commentate queste tre righe
# level(info,notice,warn)
# and not facility(auth,authpriv,cron,daemon,mail,news);
# };
Salvate e chiudete il file, e controllate che non ci siano altri errori:
syslog-ng --syntax-only
La notte seguente non dovreste più ricevere la mail di notifica
