問題
重要なファイルをいくつかのネットワーク共有からリムーバブルハードドライブにバックアップしたいと思います。バックアップを自動化したいので、バックアップを実行することを覚えておく必要はありません。一晩で終了する必要があります。さらに、各ファイルの複数のバージョンを保持できるようにして、ユーザーのミスを簡単に取り消せるようにします。
背景情報
私は、すべてのバックアップを担当する一元化されたITセクションを持つ大規模なWindowsベースの企業で働いています。それらのバックアップは、ユーザーエラーではなく災害復旧を対象としており、災害以外の復旧には上位レベルの管理者の承認が必要です。バックアップが失敗したことに何度か気づきましたが、通知されませんでした。サーバーまたはデスクトップに対する管理者権限がありません。約240ギガバイトに及ぶ約198,000のファイルをバックアップしようとしています。これらのファイルはめったに変更されません。バックアップドライブは1テラバイトです。
私の提案した解決策
私がやりたいのは、 Robocopy と/ mirオプションを使用してバッチファイルを作成し、 Mercurial SCMを使用してファイルのすべてのバージョンを保存することです。 Robocopyを実行するたびにhgaddを実行してからhgcommitを実行して現在の状態を保存し、ファイル構造のミラーコピーを作成します。問題は、/ mirがソースに存在しないすべてのフォルダーを削除し、Mercurialがリポジトリを宛先フォルダーの.hgフォルダーに保存することです。
Mercurialに.hgフォルダーを別の場所に保存するように説得する方法、またはRobocopyに宛先から削除しないよう説得する方法を知っている人はいますか?
私は、コピーするためのカスタムプログラムを書かないようにしています。
特定のファイル拡張を無視してミラーリングを実行するには、次のことを試してください。
robocopy c:\temp\source c:\temp\dest /e /purge /xf *.hg
ここで少しテストしたところ、宛先に.hgファイルが残っているようです。
また、/ zフラグ(大きなファイルの場合は再起動可能)をお勧めします。これまで、時間の粒度が異なるサーバーを処理する場合は、/ fftフラグを使用する必要がありました: http://www.readynas.com/forum /viewtopic.php?t=357
編集:...上記の私の例では、*。hg ...という名前のファイルが同じことを行い、*。hgという名前のディレクトリを無視すると仮定していました。これを使用してください:
robocopy c:\temp\source c:\temp\dest /e /z /purge /xd *.hg
まず、あなたはおそらく問題を間違った方向から取っていることを指摘したいと思います。理論的には、より良いバックアップソリューションのビジネスケースを書き留め、経営陣にそれを中央ITに提出してもらい、それを許可する必要があります。自分で整理します。
さて、これは邪魔にならないので、あなたはその提案で多くの問題に直面するでしょう。 1つ目は、Mercurialはあなたがやりたいことのために構築されておらず、robocopyでもないということです。バックアップの場所自体をリポジトリとして非表示にすることで、問題を回避する方法を見つけることができますが、それは実際には効率的ではありません。
代わりに、2つの異なるトラックを調査します。
1つ目は、ボリュームシャドウコピーを使用して、サーバー上の別のディスクアレイに保存するスナップショット履歴を作成することです(ファイルサーバーでWindowsを実行しているようで、最新バージョン2008以降を使用していると想定しています)。 。これにより、バックアップサイズをデータサイズに近づけながら、ユーザーファイルを簡単に回復できます(実際には、ユーザーは自分でファイルを回復できます)。これの欠点は、これを設定するためにサーバー上の管理者アクセスが必要になるため、IT管理者を巻き込む方法がないことです(個人的には良い考えですが、それは私だけです)。
2番目のオプションは、弾丸を噛んで「本物の」バックアップソフトウェアを入手することです。データが十分に重要である場合は、おそらくその投資のビジネスケースを作成できます。そうでない場合は、いつでもCobianバックアップを使用して、ユーザーレベルのタスクとしてファイルの増分コピーを作成できます。本当にMercurialを使用する場合は、Robocopyの代わりにCobianバックアップを使用してリポジトリコピーを作成します。
あなたはすでにWindowsとrobocopyについて話しているので、RobocopyやMercurialを必要としない別の解決策があります。オフサイトのものは少し注意が必要ですが、少なくともすべての重要なファイルのほぼリアルタイムのバックアップがあります。
開始するには2つのオプションがあります。
いずれにせよ、完全なDPMボックス、または少なくともスペアマシンにインストールできるソフトウェアのいずれかができあがります。 DPMは、ネットワーク共有バックアップの作成に優れており、バックアップは1分ごとに実行されます。また、シャドウコピーを実行するため、ユーザーはバックアップ時にファイルを使用できます。最後に、必要に応じて、エンドユーザーの回復オプションを使用して、ある程度の組み合わせから抜け出すこともできます。
オフサイト機能が必要な場合は、テープドライブを購入することも、新しいサーバーに埋め込まれたテープドライブを購入することもできます。リムーバブルディスクストレージを使用したい場合は、Firestreamerと呼ばれる製品をご覧ください。それはあなたがリムーバブルディスクストレージにディスクを使用することを可能にします。
いずれにせよ、長期的にはこれははるかに優れたソリューションであり、robocopyといくつかの保存場所を使用するcronジョブよりもはるかに信頼性があります。私を信じてください!全体的なコストは、やりたいことすべてに応じて500ドルから5000ドルの範囲ですが、心と安定性の価値があります。