[Eisfair] Samba Logs

Peter Bäumer peter at baeumer.duckdns.org
Di Aug 8 18:49:05 CEST 2023


Am 08.08.2023 um 13:07 schrieb Marcus Röckrath:
> Hallo,
> 
> weil es mit dem letzten Release des samba-Paketes zwei Unschönheiten gibt,
> die aber nicht kritisch sind, möchte ich hier etwas zur Diskussion stellen.

  

> 
> Samba wird schon immer nach dem Rotieren der Logs in postrotate dazu
> veranlasst, seine Konfiguration neu einzulesen (SigHUP).
> 
> Denkbar, dass manchmal während des Rotierens zu einem Schreibzugriff ins Log
> kommt und dann das Rotieren scheitert.
Angefangene Schreibvorgänge werden ins Log zu ende geschrieben, auch wenn die Logdatei umbenannt wurde.
Der Schreibvorgänge erfolgt auf die INODE, nicht mit Hilfe des Dateinamens... (in der Hoffnung das das jetzt nicht völlig verkehrt ist...)

Bei der Verwendung der Option copytruncate ist das anders, da können Logeinträge verloren gehen...

> Habt ihr auch *.backup-Dateien in /var/log?
> 
> Wie löst man das am besten?
> 
> Zunächst frage ich mich, ob überhaupt ein tägliches Rotieren nötig ist, denn
> die Logs sind hier sehr klein. Mindestens weekly hielte ich für besser.

Eine Konfigurationsmöglichkeit im setup wäre auch schön ;)


> Zudem könnte ich vor dem Rotieren in prerotate samba stoppen und dann in
> prerotate wieder starten, so dass samba für einen kurzen Moment nicht zur
> Verfügung steht.

ein Restart des Dienst halte ich für unnötig, da ich davon ausgehen das samba mit einem Sig Hub umgehen kann.
Also nach den Rotieren die alte Logdatei schließt und die neue Logdatei zum schreiben öffnet.

Siehe auch: https://serverfault.com/questions/1080334/how-does-logrotate-work

  

Auf einem Debian Server sieht die conf so aus:
/var/log/samba/log.smbd {
         weekly
         missingok
         rotate 7
         postrotate
                 [ ! -x /usr/bin/smbcontrol ] || [ ! -f /run/samba/smbd.pid ] || /usr/bin/smbcontrol smbd reload-config
         endscript
         compress
         delaycompress
         notifempty
}

/var/log/samba/log.nmbd {
         weekly
         missingok
         rotate 7
         postrotate
                 [ ! -x /usr/bin/smbcontrol ] || [ ! -f /run/samba/nmbd.pid ] || /usr/bin/smbcontrol nmbd reload-config
         endscript
         compress
         delaycompress
         notifempty
}

/var/log/samba/log.samba {
         weekly
         missingok
         rotate 7
         postrotate
                 if [ -d /run/systemd/system ] && command systemctl >/dev/null 2>&1 && systemctl is-active --quiet samba-ad-dc; then
                         systemctl kill --kill-who all --signal=SIGHUP samba-ad-dc
                 elif [ -f /run/samba/samba.pid ]; then
                         # This only sends to main pid, See #803924
                         kill -HUP `cat /run/samba/samba.pid`
                 fi
         endscript
         compress
         delaycompress
         notifempty
}

> Bitte um Meinungen.

MfG
   Peter B.
    



Mehr Informationen über die Mailingliste Eisfair