Am letzten Wochenende habe ich meine Site-to-Site OpenVPN-Infrastruktur auf Vordermann gebracht (Github-Repo folgt). Da ich aus Debugging-Gründen anfänglich sehr, sehr viel geloggt habe (verb 5 in der lokalen OpenVPN .conf-Datei) sind die Log-Dateien innert eines Tages auf satte 110 MB angewachsen. Mittlerweile — da alles sauber läuft — verwende ich verb 3 und die Log-Files sind nur noch einige Kilobytes gross.
Dennoch habe ich mich entschieden, logrotate so zu konfigurieren, dass die Log-Dateien täglich rotiert werden. Leider musste ich nach der ersten Durchführung aber realisieren, dass OpenVPN munter weiter in /var/log/openvpn/append.log.1 weiterschreibt, obwohl nun /var/log/openvpn/append.log angesagt wäre. Mit meinem Linux-Halbwissen gehe ich davon aus, dass der Filepointer des OpenVPN-Daemons auf dieselbe Datei zeigt, auch wenn sich deren Namen ändert.
Glücklicherweise kennen die Entwickler von logrotate dieses Problem und bieten dafür eine handliche Option namens copytruncate an:
/var/log/openvpn/*.log { daily missingok rotate 366 compress delaycompress copytruncate create 600 root root }
Quelle: openvpn logrotate