rotation manuelle du fichier journal avec rsyslogd

10

Je veux forcer la rotation du fichier journal à l'aide logrotate -f /var/log/syslog, mais ce ne sont que des tonalités de retour de:

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

Je sais que sur ce système, rsyslogd est en cours d'exécution. Comment faire pivoter /var/log/syslog? Je veux que ce soit vide.

kbec
la source

Réponses:

23

Vous ne dites pas logrotatequel fichier faire pivoter sur la ligne de commande. Vous lui passez un fichier de configuration. Donc, dans votre cas, logrotatelit /var/log/sysloget essaie de l'analyser en tant que fichier de configuration et échoue (d'où vos erreurs).

Si vous souhaitez le faire pivoter, /var/log/syslogil doit être répertorié dans un logrotatefichier de configuration quelque part et vous venez de l'exécuter logrotate. S'il a tourné récemment, alors logrotate -fpour le forcer à recommencer.

Voici un exemple d'entrée pour /var/log/syslogDebian,

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

Donc, vous en avez besoin dans un fichier, normalement soit en /etc/logrotate.conftant qu'extrait de fichier en /etc/logrotate.dsupposant vos /etc/logrotate.confpoints là-bas, puis vous exécutez simplement logrotate /etc/logrotate.conf.

Puisque vous exécutez Debian, tout est probablement en place, et tout ce que vous devez réellement faire est d'exécuter logrotate -f /etc/logrotate.conf(notez que cela fera tourner chaque journal actuellement configuré dans logrotate).

Si vous ne voulez vraiment faire pivoter /var/log/syslog, vous devrez créer un fichier de configuration qui ne fait que ce journal, basé sur le contenu de /etc/logrotate.conf+ /etc/logrotate.d/rsyslog.

EightBitTony
la source