Dateien vor Änderung/Löschen retten
Verfasst: Freitag 23. Dezember 2005, 23:44
Kann man mit Python ein Programm für die folgende Aufgabe realisieren?
Vorzugsweise soll das erstmal nur unter Windows funktionieren, aber unter UNIX wäre das auch sehr interessant:
Das Python-Programm soll (später als Windows-NT-Dienst über srvany.exe aus dem Windows Resource Kit) vom System getätigte Dateizugriffe überwachen. Sobald das System oder ein anderes Programm Änderungen an einer Datei vornehmen möchte oder sie sogar löschen will, soll Python die Datei an eine vorher festgelegte Stelle kopieren, um bei einer Löschung die Datei "wieder herstellen" zu können oder um bei einer Änderungen nachvollziehen zu können, was genau verändert wurde.
Also einfach schnell die Datei kopieren, falls sie angerührt wird. Das kann u.U. bei sehr großen Dateien natürlich auch entsprechend lange dauern... ich weiß nicht, ob ein "dusseliges" Python-Tool durch sowas erstmal das ganze System pausieren lassen kann.
Ich könnte mir vorstellen, dass das über WMI gehen könnte. Der Sinn von WMI gibt es vielleicht her, weil WMI direkt in Systemschritte eingreifen kann. Allerdings ist das so ein komplexes Feld, dass ich da leider noch keinen Durchblick habe. Wie das bei UNIX gehen könnte weiß ich gleich gar nicht.
Hat jemand eine Idee oder sogar einen Code-Snippet für mich? Danke!
Vorzugsweise soll das erstmal nur unter Windows funktionieren, aber unter UNIX wäre das auch sehr interessant:
Das Python-Programm soll (später als Windows-NT-Dienst über srvany.exe aus dem Windows Resource Kit) vom System getätigte Dateizugriffe überwachen. Sobald das System oder ein anderes Programm Änderungen an einer Datei vornehmen möchte oder sie sogar löschen will, soll Python die Datei an eine vorher festgelegte Stelle kopieren, um bei einer Löschung die Datei "wieder herstellen" zu können oder um bei einer Änderungen nachvollziehen zu können, was genau verändert wurde.
Also einfach schnell die Datei kopieren, falls sie angerührt wird. Das kann u.U. bei sehr großen Dateien natürlich auch entsprechend lange dauern... ich weiß nicht, ob ein "dusseliges" Python-Tool durch sowas erstmal das ganze System pausieren lassen kann.
Ich könnte mir vorstellen, dass das über WMI gehen könnte. Der Sinn von WMI gibt es vielleicht her, weil WMI direkt in Systemschritte eingreifen kann. Allerdings ist das so ein komplexes Feld, dass ich da leider noch keinen Durchblick habe. Wie das bei UNIX gehen könnte weiß ich gleich gar nicht.
Hat jemand eine Idee oder sogar einen Code-Snippet für mich? Danke!