2012-11-29 15 views
7

私はPythonでリモートバックアップソリューションを開発中です。サーバ部分は、効率的な増分バックアップにハードリンクを使用するため、Unix/Linux上で動作します。Pythonの一貫したバックアップ

しかし、クライアント部分もWindows上で実行する必要があり、ファイルのロックが問題になる可能性があります。

私が調査したことから、ボリュームシャドウコピーサービス(VSS)が私の必要なものです。 LVMスナップショットに似ており、ファイルロックの影響を受けません。 しかし、VSS APIはpywin32では実装されていないようです。

私の現在のアイデアは、一時的なVSSスナップショットを作成し、クライアントを実行し、後でそれを削除するラッパーを使用することです。

誰かがこのシナリオでの経験を持っているのだろうかと思います。

+0

私はかつてpcの名前と日付/時刻を使用してフォルダをrar'dバッチファイルを使用ftpでサーバーに送信しました。これはVSSが存在する前であった。 –

+0

問題はリモートサーバーにファイルをコピーしていません。バックアップするファイルが別のプロセスによって開かれない限り、正常に動作しています。 それは私がVSSが欲しいものです。 – julianjm

答えて

0

Windowsクライアント側でIronPythonを調べます。これにより、COM + DLLやその他のWinAPIオブジェクトへのアクセスが可能になるからです。それは.NETですが、それでもPythonになります。 VSSで動作することを100%確実にするために十分に使用していませんが、になるはずです。

0

私の個人的なバックアップツールで同じことを探しているうちに、私はPyVSSに出くわしました。しかし、使用するのが簡単なようですが、コンパイルされたバージョンのモジュールしか利用できません。不可欠なソースコードの部分がありません。

2

私は(複雑な、野心的な、アルファ)

https://github.com/sblosser/pyshadowcopy(シンプルですが、アクティブもはやらしい)

https://github.com/libyal/libvshadowつまずい同じ疑問を抱い

残念ながら、私は」なかったのまだそれらをテストする時間がありません...

+0

ありがとう...どちらも有望そうです...私はそれらを見てみましょう – julianjm

関連する問題