archivo de registro giratorio manualmente con rsyslogd

10

Quiero forzar la rotación del archivo de registro usando logrotate -f /var/log/syslog, pero solo son tonos de retorno de:

error: syslog:1 unknown option 'May' -- ignoring line
error: syslog:1 unexpected text

Sé que en este sistema se está ejecutando rsyslogd. ¿Cómo rotar /var/log/syslog? Lo quiero vacio

kbec
fuente

Respuestas:

23

No dice logrotatequé archivo rotar en la línea de comando. Le pasa un archivo de configuración. Entonces, en su caso, logrotateestá leyendo /var/log/sysloge intentando analizarlo como un archivo de configuración y falla (de ahí sus errores).

Si desea rotarlo /var/log/syslog, debe aparecer en un logrotatearchivo de configuración en algún lugar, y simplemente ejecuta logrotate. Si giró recientemente, entonces logrotate -fpara forzarlo a hacerlo nuevamente.

Aquí hay una entrada de ejemplo para /var/log/syslogDebian,

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog reload > /dev/null
        endscript
}

Por lo tanto, necesita eso en un archivo, normalmente /etc/logrotate.confo como un fragmento de archivo al /etc/logrotate.dasumir sus /etc/logrotate.confpuntos allí, y luego simplemente corre logrotate /etc/logrotate.conf.

Dado que está ejecutando Debian, esto probablemente esté todo en su lugar, y todo lo que necesita hacer realmente es ejecutar logrotate -f /etc/logrotate.conf(tenga en cuenta que esto rotará cada registro actualmente configurado en logrotate).

Si realmente solo desea rotar /var/log/syslog, deberá crear un archivo de configuración que solo haga ese registro, en función del contenido de /etc/logrotate.conf+ /etc/logrotate.d/rsyslog.

OchoBitTony
fuente