[…] http://blog.is-a-geek.org/papierkorb-fur-samba-freigaben-auf-ubuntu-einrichten […]
Papierkorb für Samba-Freigaben auf Ubuntu einrichten
Als Sysadmin kennt man das Problem mit Usern, welche auf Netzwerkfreigaben munter darauf los löschen und danach jammern, dass die Dateien nicht im Papierkorb erscheinen. Egal wie oft man den Sachverhalt zu erklären versucht, eine Vielzahl dieser User wird diese Vorgehensweise nicht ändern. Abhilfe kann der in Samba (ab Version 3) enthaltene Netzwerkpapierkorb schaffen. Gelöschte Dateien werden vorläufig einfach in einen Ordner verschoben und nicht sofort gelöscht.
Die Funktionalität des Netzwerkpapierkorbs von Samba fristet ein eher unbeachtetes Dasein, obwohl er richtig eingesetzt eine gute Alternative zu stundenlangen Datenwiederherstellungsorgien ist.
Zu beachten ist natürlich, dass der Speicherbedarf etwas höher ausfällt und die Dateien im Papierkorb-Ordner nach einiger Zeit per Hand oder per Script gelöscht werden müssen. Ebenfalls erscheinen die auf der Freigabe gelöschten Elemente nicht im lokalen Papierkorb, sondern werden nur in den Papierkorbordner am jeweiligen Samba-Share verschoben.
Papierkorb erstellen
Der Papierkorbordner muss zuvor erstellt werden. Zu diesem Zweck wechseln wir in den freigegebenen Ordner (über SSH-Console) und erstellen dort den Ordner “.recyclebin”. Der Punkt vor dem Namen dient dazu, den Ordner zu verstecken.
mkdir .recyclebin
Danach öffnen wir mit Nano die Samba-Konfigurationsdatei, in welcher unsere Freigaben definiert sind:
sudo nano /etc/samba/smb.conf
Die Sharedefinitionen befinden sich meist am Ende der Datei und sehen ungefähr wie folgt aus:
[SHARE] comment = Public Folder path = /sharefolder writable = yes create mask = 0777 directory mask = 0777 force user = smbuser
Unter dieser Definition fügt man dann die Zeilen zur Aktivierung der Papierkorbfunktion ein. Diese müssen für jede Freigabe gesondert eingefügt werden (nano: speichern mit “Strg+o“, schließen mit “Strg+x”).
[SHARE] comment = Public Folder path = /sharefolder writable = yes create mask = 0777 directory mask = 0777 force user = smbuser vfs object = recycle recycle:repository = .recyclebin recycle:keeptree = Yes recycle:touch = Yes recycle:versions = Yes recycle:maxsixe = 0
recycle:repository = .recyclebin
Hier wird der zuvor erstellte Ordner übergeben. Der Pfad ist relativ zum Shareordner, d.h. der Pfad des freigegebenen Ordners muss nicht angegeben werden.
recycle:keeptree = Yes
Die gelöschten Dateien werden mit der bestehenden Ordnerstruktur in den Papierkorb kopiert.
recycle:touch = Yes
Ändert beim Löschen den letzten Zugriffszeitpunkt auf den Löschzeitpunkt.
!! Diese Funktion muss für die Anleitung zum automatischen Leeren des Papierkorbs aktiviert sein. !!
recycle:versions = Yes
Werden zwei Dateien mit dem selben Dateinamen entfernt, wird mit Hilfe dieser Einstellung die zuvor gelöschte nicht überschrieben.
recycle:maxsixe = 0
Hier kann definiert werden, ab welcher Dateiegröße sofort gelöscht werden soll (0=deaktiviert).
Weitere Konfigurationsmöglichkeiten kann man hier einsehen: http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/VFS.html#id2651247
Zum Abschluss startet man den Samba-Server neu:
sudo service smbd restart
Automatisches Leeren
Um nicht zu viele Datenleichen zu versammeln gibt es eine einfache Möglichkeit Dateien, die länger als 7 Tage im Papierkorb liegen automatisch zu löschen. Voraussetzung dafür ist ein aktiviertes “touch” des Sambapapierkorbs.
Zuerst öffnet man die Cron-Tabelle:
sudo crontab -e
Dort fügt man am Ende diesen Befehl ein (nano: speichern mit “Strg+o“, schließen mit “Strg+x”):
10 5 * * * root find /PFAD/.recyclebin -atime +7 -print -exec rm -rf {} \;
Somit werden Dateien die vor mehr als 7 Tagen gelöscht wurden täglich um 5:10 entgültig entfernt.
Vielen Dank an die Entwickler und viel Spaß mit dem Netzwerkpapierkorb!
6 Kommentare zu “Papierkorb für Samba-Freigaben auf Ubuntu einrichten”
Track/Pingpacks zu “Papierkorb für Samba-Freigaben auf Ubuntu einrichten”
-
Papierkorb für Samba-Freigaben einrichten | tm-107.de 12. April 2013 um 12:42
-
Ein Papierkorb für Samba - 1manfactory.com - Blog of Jürgen Schulze 24. März 2017 um 18:29
[…] Dank geht an http://blog.is-a-geek.org/… für die […]
Kommentar abgeben
Kategorien
- Allgemein (9)
- Anderes (6)
- DIY Anleitungen (8)
- Downloads (22)
- HTC (16)
- Linux (35)
- Server (29)
- Windows (8)
Neueste Beiträge
- Tor Relay auf Ubuntu 14.04 zur Verfügung stellen
- Sogo Upgrade von Version 2 auf Version 3 auf Ubuntu 14.04
- Download: Lustige und sinnlose Feiertage im November 2012 als ICS Datei
- Skype-Symbol auf Windows 7 aus der Taskleiste verschwinden lassen
- Statische IP ab Ubuntu Server 12.04 LTS Precise Pangolin
Folge uns auch via
Archiv
WERBUNG
Featured Video
Kalender
M | D | M | D | F | S | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Meta
Unterstützt mich
futurezone.at – Newsfeed
- Weltweit erster 1.000-Meter-Wolkenkratzer wird doch fertiggebaut 8. Oktober 2024
- Iran schützt sich mit chinesischer Laserwaffe vor Israels Drohnen 8. Oktober 2024
- Tesla Model 3 mit "größter Reichweite aller Zeiten" kommt nach Österreich 8. Oktober 2024
- 12 Prime-Day-Angebote unter 30 Euro, die ihr euch ansehen solltet 8. Oktober 2024
- Physik-Nobelpreis geht an KI-Forscher 8. Oktober 2024
Vielen Dank endlich eine komplette Anleitung.
Ich habe die automatische Löschung aber mit recycle:touch_mtime welches das Modify Date ändert realisiert, da die User bei mir sicherlich immer auf die Dateien zugreifen werden (was dann das Access Date wieder ändert).
Wenn die User die Datei jedoch nicht innerhalb von 7 Tagen aus dem Papierkorb holen löscht er somit auf jeden Fall egal ob diese noch einmal geöffnet wurde oder nicht.
kannst du mir eventuell den cronjob befehl posten?
Du musst nur atime durch mtime ersetzen.
Danke für die Tipps.
Ich würde den Ordner beim ersten Löschen direkt von Samba selbst anlegen lassen. Bei mir hat es nicht geklappt, da der Samba-Nutzer und mein Shell-Nutzer nicht identisch waren.
Und beim cron-job sollte noch ein -mindepth 1 dazu, denn sonst wir der Papierkorb ja selbst auch gelöscht, sobald er älter als sieben tag ist, was ziemlich dumm wäre