PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba - Filezugriffe loggen



[oETTi]
09.12.02, 14:32
Hallo zusammen,

ich habe hier einen Sambaserver auf dem sich tausende Files tummeln. Dieser soll durch einen neuen Server konplett ersetzt werden. Da niemand genau weiß, welche Files auf dem alten Sambaserver noch benutzt werden, habe ich mir folgende Strategie überlegt. :rolleyes:

1.) 1 Woche alle Zugriffe auf die Sambashares in einem extra Logfile mitloggen lassen (wichtig ist dabei nur, auf welche Dateien zugegriffen wird (von wem, und wann ist vollkommen egal))

2.) sobald der neue Sambaserver steht, das o.g. Logfile durchsuchen lassen, und alle mitgeloggten Files auf den neuen Sambaserver kopieren

Somit fliegen alle die Dateien raus, auf die 1 Woche (von mir aus auch einen Monat) keiner zugegriffen hat.

Hat jemand eine Idee, wie sich sowas realisieren lässt?

Am Ende soll im Prinzip nur folgendes rauskommen:



08.12.2002 /shares/daten/Meier/Weihnachtsgeschenke.txt
09.12.2002 /shares/daten/budget.xls
09.12.2002 /shares/daten/abrechnung_00.doc
...


Danke für eure Hinweise.
[oETTi]

MrIch
09.12.02, 14:38
vielleicht jede Minute smbstatus ausführen und Dateien mit awk herausfiltern...

[oETTi]
10.12.02, 11:01
Ok,

im Moment habe ich erstmal nur folgendes laufen, was aller 3 Minuten ausgeführt wird:



smbstatus -L >> /home/oetti/zugriffe.log


Bei den Versuchen die Ausgabe gescheit mittels grep, awk oder sed zu filtern scheitere ich jedoch kläglich :(

Die Standardausgabe von smbstatus -L sieht ungefähr so aus:



Locked files:
Pid DenyMode R/W Oplock Name
--------------------------------------------------
13971 DENY_NONE RDWR EXCLUSIVE+BATCH /Freigabe/allgemein/TELEFAX Vorlage 08.10.2002.dot Tue Dec 10 11:05:1
13971 DENY_NONE RDWR NONE /Freigabe/neue infos/beschluss vom 07.12.2002/beschluss.pdf Tue Dec 10 10:33:02 2002
13971 DENY_NONE RDWR EXCLUSIVE+BATCH /Freigabe/backup/2001/allgemein/TELEFAX Vorlage.doc
Tue Dec 10 10:41:15 2002

Share mode memory usage (bytes):
1047888(99%) free + 568(0%) used + 120(0%) overhead = 1048576(100%) total


Mich interessiert nun eigentlich nur, was mit /Freigabe/ beginnt und durch das aktuelle Datum
Beispiel: Tue Dec 10 10:41:15 2002 eingeschlossen wird. In meiner Logdatei soll am Ende nur folgendes stehen:



/Freigabe/allgemein/TELEFAX Vorlage 08.10.2002.dot
/Freigabe/neue infos/beschluss vom 07.12.2002/beschluss.pdf
/Freigabe/backup/2001/allgemein/TELEFAX Vorlage.doc


Bin für jede Hilfe dankbar.

PS: Ist es machbar, dass bei einer leeren Ausgabe von smbstatus mit o.g. Suchmuster überhaupt nicht geloggt wird?

pibi
12.12.02, 14:32
Jungs und Maedels, hier geht es doch um Linux, denkt doch mal ein bisschen innovativ:-)

Linux kennt neben dem Standard-Timestamp fuer das Erstelldatum eines Files noch andere, so auch fuer den letzten Zugriff auf ein File (die sog. Access-Time). Und das funktioniert natuerlich auch bei Samba-Shares. Ein

find /mein/samba/share -atime -4

liefert Dir zB. alle Files, auf die im Pfad /mein/samba/share (und darunter) vor 4 Tagen (oder weniger) zugegriffen wurde. Und mit einem anschliessenden "-exec cp -av ...." kannst Du diese auch gleich TARen oder kopieren oder was weiss ich. "Logfiles-Sortiererei" kannst Du also vergessen;-)

Gruss Pit.

MrIch
12.12.02, 22:56
@pibi... das Problem ist meist, dass mir einfache Lösungen nicht so schnell einfallen wie die komplizierten!

vitek
13.12.02, 08:21
Hi !

Wie wärs denn wenn du den smbd mit einem Debug Level starten würdest ?
z.B. so : smbd -i -d 2 -s /etc/samba/smb.conf. Damit schmeisst der Daemon alles auf den Bildschirm aus. Denn alles nochmal umleiten in ein Textfile und schon kannst du sehen wer wann was aufmacht und zumacht ;)

[oETTi]
13.12.02, 08:57
Erstmal danke Euch allen :)

Ich versuche hier seit Tagen meine Daten zu filtern, und dann schreibt pibi hier eine Zeile rein die genau das macht, was ich brauche :D

tztztzz, vielleicht sollte man eben nicht immer ganz so kompliziert denken ;)

Schönen Tag noch und passt fein auf an einem Freitag dem 13.