Me ha ocurrido que con shorewall, he sido incapaz de poder hacer que los logs de advertencias se escriban en otro archivo que no sea syslog.
Y como me estresa tener el syslog lleno de fallos de conexión, pues he tirado por la vía rápida y he creado un filtro muy sencillo para hacer el split del archivo.
Es muy sencillo, creamos un archivo en /etc/rsyslog.d/
sudo nano /etc/rsyslog.d/shorewall.conf
y en el archivo ponemos :
:msg, contains, "Shorewall:" /var/log/shorewall/shorewall.log & ~
En estas lineas lo que hacemos es que filtre por la palabra “Shorewall” y lo guarde en un archivo diferente.
Reiniciamos el servicio:
sudo /etc/init.d/rsyslog restart
y luego necesitamos crear un archivo para generar rotación de logs:
sudo nano /etc/logrotate.d/shorewall
he introducimos:
/var/log/shorewall/shorewall.log { weekly rotate 4 compress missingok create 0640 root adm }
Rota el log cada semana con 4 rotaciones (cinco archivos en total) y los comprime. También tenemos las opciones de crear los archivos nuevos con permisos 640 para root:adm y en caso de no estar el archivo pues continua sin generar error (missingok).