ich möchte auf einem Windows-Server ein gemeinsames Logfile aller Debian-Clients führen.
Damit das ganze skriptgesteuert im Hintergrund läuft, scheint smbclient das Programm der Wahl zu sein. Mit -k bzw. -P und -N kann man die Authentifizierung ja Kerberos bzw. Samba überlassen.
Mein Problem:
Gibt es eine elegante Möglichkeit, das Logfile von verschiedenen Clients "gleichzeitig" zu schreiben?
Auf einem reinen Linux-System bin ich gewohnt das Logfile in folgender Weise zu befüllen:
Code: Alles auswählen
echo "Meine Log-Meldung: $LOGINFO" >> /var/log/xyz/mein_log.log
Jetzt könnte ich mir die Datei zwar erst holen, dann verändern und schließlich wieder hochladen:
Code: Alles auswählen
smbclient SERVER -c 'cd mydir; get serverlog.log local_log.log'
echo "Meine Log-Meldung: $LOGINFO" >> ./local_log.log
smbclient SERVER -c 'cd mydir; put local_log.log serverlog.log'
Zu umständlich, zu viel (unnötiger) Traffic und bei vielen Log-Ereignissen verschiedener Clients könnte auch ein Eintrag verloren gehen.
Danke und viele Grüße
Christian
Edit:
Natürlich soll es keine GUI-Lösung sein und auch das permanente mounten (z.B. mit "mount -t cifs ..." oder "gvfs-mount") möchte ich gerne vermeiden. Das Netzwerk-Share soll nur für die Logdatei verwendet werden und für alle anderen Benutzer unsichtbar bleiben.
Edit2:
Holen, ändern und schreiben der Datei braucht im Schnitt 0,06 = 1/20 Sekunden. Selbst wenn sich mehrere Benutzer in der selben Sekunde anmelden sollte es keine großen Probleme geben. "Für's erste" ist es also "gut genug".