Seite 1 von 1

Löschen von Dateien aufhalten

Verfasst: Mittwoch 29. März 2006, 21:58
von droptix
Kann Python ähnlich wie eine Firewall sein Ohr an das Betriebssystem legen und darauf warten, bis eine Datei gelöscht oder modifiziert werden soll? Python soll eingreifen -- quasi die Löschen-Aktion kurzzeitig anhalten -- die zu löschende Datei zuvor sichern (ja, auch bei großen Dateien) und erst dann die Löschung durchführen. Analog soll das dann beim Überschreiben handeln.

Ein Betriebssystem Event-Handler oder sowas...

Verfasst: Mittwoch 29. März 2006, 23:26
von modelnine
Unter Windows (oder Unix): keine Ahnung.

Unter Linux: inotify gibts um solche Events vom Betriebssystem mitgeteilt zu bekommen, ich bezweifel aber ob Du damit eine Löschaktion aufhalten kannst. Es gibt ein Python-Binding an inotify, die Dokumentation hierzu dürfte sinnvolle Lektüre sein.

Sonst: mit FUSE kannst Du natürlich ein Dateisystem unter Linux simulieren, was ganz normal auf ein anderes Dateisystem im Hintergrund zugreift. Wenn dann der Befehl zum löschen kommt, kann Dein Script natürlich direkt eingreifen, und was machen. Bloß, dieser Weg dürfte nicht ganz einfach zu gehen sein; siehe hierzu die FUSE-Dokumentation.

Verfasst: Donnerstag 30. März 2006, 12:50
von droptix
Richtig interessant wird's bei einer Windows- und UNIX-Variante. Also ein .py Modul, dass OS-unabhängig Events "abhorchen" kann.

Verfasst: Donnerstag 30. März 2006, 14:05
von Joghurt
Das kannst du vergessen.

Verfasst: Donnerstag 30. März 2006, 23:25
von modelnine
Kann ich Joghurt nur getrost beipflichten...

Verfasst: Freitag 31. März 2006, 18:39
von droptix
Schade eigentlich :roll:

Hat sonst noch jemand eine Idee, wie man sowas anders bewältigen könnte? Es gibt ja auch keinen einheitlichen 'delete' Befehl, sonst könnte man ja versuchen, auf sowas einen Listener zu setzen...

Verfasst: Samstag 17. Februar 2007, 01:53
von nkoehring
Ja... wie wir per ICQ schon angesprochen haben:

Man nehme eine Bibliothek wie zB Soapbox und schaue ob es da abhilfe in Fragen wie "Dateisystemzugriffsueberwachung" gibt.