2012-11-29 14 views
7

Ich arbeite an einer Remote-Backup-Lösung in Python. Der Server-Teil wird unter Unix/Linux laufen, da er harte Verbindungen für effiziente inkrementelle Backups verwendet.Konsistente Backups in Python

Der Client-Teil muss jedoch auch unter Windows ausgeführt werden, und Dateisperrung kann ein Problem sein.

Nach was ich recherchiert habe, ist Volume Shadow Copy Service (VSS) die Sache, die ich brauche. Ähnelt einem LVM-Snapshot und ist nicht von Dateisperren betroffen. Die VSS-API scheint jedoch nicht in pywin32 implementiert zu sein.

Meine aktuelle Idee ist es, einen Wrapper zu verwenden, der einen temporären VSS-Snapshot erstellt, den Client ausführt und anschließend löscht.

Ich frage mich, ob jemand Erfahrung in diesem Szenario hat.

+0

Ich habe einmal eine Batch-Datei verwendet, die einen Ordner mit dem Namen des PCs und dem Datum/Uhrzeit a rar'd nd es per ftp an den Server geschickt. Dies war bevor VSS existierte. –

+0

Das Problem besteht nicht darin, die Dateien auf den Remote-Server zu kopieren. Das funktioniert einwandfrei, es sei denn, eine zu sichernde Datei wird von einem anderen Prozess geöffnet. Dafür möchte ich VSS. – julianjm

Antwort

0

Ich würde auf Ihrer Windows-Client-Seite in IronPython suchen. Ganz einfach, weil Sie auf COM + DLLs und andere WinAPI-Objekte zugreifen können. Es ist .NET, aber es wäre immer noch Python. Ich habe es nicht genug verwendet, um für 100% ige Sicherheit zu sagen, dass es mit VSS funktioniert, aber es sollte sein.

0

Bei der Suche nach der gleichen Sache für mein persönliches Backup-Tool stieß ich auf PyVSS. Das scheint einfach zu sein, aber es gibt nur kompilierte Version des Moduls zur Verfügung. Wesentliche Teile des Quellcodes fehlen.

Verwandte Themen