Logrotate et OpenVPN

Logrotate est un outil fort pratique pour l'administrateur qui souhaite nettoyer automatiquement et périodiquement son dossier /var/log (on en parlait déjà ici et ici).

D'autre part, OpenVPN est un couple client/serveur performant pour la mise en place de réseaux privés virtuels. L'administrateur attentionné aimera que le serveur OpenVPN tienne à jour un flux de logs détaillés... mais avec de nombreux utilisateurs du VPN, les logs peuvent alors rapidement atteindre une taille très importante ! Logrorate est bien sûr la solution.

J'ai cependant eu quelques difficultés à trouver des options qui permettent à OpenVPN et Logrotate de fonctionner en bonne harmonie - je vous présente donc ci-dessous les paramétrages fonctionnels chez moi pour vous épargner (en tout cas je le souhaite) mes longs tâtonnements.

Dans la configuration d'OpenVPN, on a :

user openvpn
group openvpn
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log

Comme on peut le voir ci-dessus, je regroupe mes logs dans un même dossier et les logs sont écrits avec les droits d'exécution du serveur OpenVPN, à savoir l'utilisateur openvpn. log-append précise le fichier dans lequel les logs doivent être déposés.

Pour logrotate, dans /etc/logrotate/openvpn.conf, on a :

/var/log/openvpn/openvpn.log
{
    weekly
    rotate 52
    missingok
    notifempty
    delaycompress
    compress
    copytruncate
    postrotate
        /etc/init.d/openvpn restart
    endscript
}

J'espère que ces paramétrages permettront aussi chez vous l'harmonie entre OpenVPN et Logrotate !