改めて、コマンドプロンプトのrobocopyコマンドでバックアップを行う。

投稿日:

以前、会社では、バックアップ用のソフトを使っていたことがあります。
それも、社内ではなく、お客様用にw

まぁ、それ自体は良いんですが、割とケチ?な会社だったので、使っているのはフリーソフト
確か、商用利用もOKだったはずなので、そういう意味では問題なかったと思うんです。
が、重要なはずのバックアップをフリーソフトに委ねるってのも怖い話なんですよねー。
大体、責任は負いませんよ?って利用許諾とかにかいてあります。

フリーソフトを使って、バックアップに問題があった時に、誰が責任を取るんでしょうね?
だって、フリーソフトの作者に、会社の損害(あったとして)の責任を追及するとか無理な話ですよ。
そういう時のために、お金を払うサポートがあるんだしね。

ということで、フリーソフトだと、開発終了したり、最新OSへの対応がされなかったりすることがあります。
なるべくお金はかけたくない、けど、何かあった時にお客さんに説明できる内容と、責任の所在を会社にしたくないっていう時は多々あると思います。

そんな時のコマンドプロンプト

robocopyというコマンドでバックアップもお手軽に。
Windows7以降なら普通に使えるし、しかも、お客さんへの説明も「OS機能のバグですね・・・」とか言っておけば角が立たないっていうオマケつき。

robocopyって何?

コマンド 内容
C:\A コピー元 Aフォルダの内容をコピーします
D:\B コピー先 Bフォルダにコピー元の内容をコピーします
/R:5 オプション 失敗した時の繰り返し回数(規定は1,000,000)
/W:5 オプション 再試行までの待機時間(規定は30秒)
/MIR オプション ディレクトリのミラー化

こんな感じです。
コピー元コピー先は間違えると、大変なことになるので、テスト用のフォルダを作るなどして、必ず実行前にテストは行ってください
極端な例ですが、コピー先とコピー元を間違えて、コピー元が空フォルダだった場合、本来コピーしたいフォルダの中身が空になります。

次に繰り返し回数の「/R」

これは設定必須です。
エクスプローラ上でコピーとかする時にあるんですが、ファイルが壊れていたりして途中で終了
してしまうことありませんか?
そういった場合や、ファイルが使用中でコピーできない時とかに繰り返しコピーを行う回数です。
規定回数が1,000,000回なので、次に記載する「/W」オプションの規定値30秒と組み合わせると、1個コピーできないファイルがあるだけで、夜のうちにコピーが終わらなくなりますw
5回も試行すれば十分です。

それ以上やっても、駄目なファイルは駄目なので。

待機時間の「/W」

先に書いた「/R」オプションの次の試行までの待機時間です。
好みの問題ですが、5秒程度で問題ないです。

試行回数と合せて、10秒以上コピーできないようなファイルは、コピーできない可能性が高いので。

ミラーリングの「/MIR」

バックアップとしてなら、このオプションでOKです。
同じファイルは上書きしないので、差分バックアップとして使えます。
コピー元で削除したものは、コピー先からも削除されるので、トラブル時のバックアップの戻しとしては有効です。

他にも、ファイルの移動にしたいなら「/MOV」、フォルダごと移動するなら「/MOVE」。
ファイルを消さずにコピーだけしたいなら、「/S /E」。

他にもオプションで細かく設定出来ますが、オプションとしてはこれくらいが使えれば、個人のバックアップとか部署レベルのバックアップなら困らないです。

タスクに登録して自動化

出来上がったコマンドは、「backup.bat」などとして保存。
ショートカットをデスクトップに保存するなり、スタートアップに登録するなり。
タスクに登録すれば、定期的に実行できます。

これ以上の機能が必要なら、システム管理者とかにお願いしましょう。

 







-開発メモ

関連記事

「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」と表示された場合の対処法:Windows7

今日は2017年秋期の情報処理試験でしたが、受験されたみなさまいかがでしたでしょうか? ろくすっぽどころか、参考書すら買ってない状態だけど、情報処理試験の午前だけは受けに行く(起きれたら)。 午前は択 …

TortiseSVNなんだけど、自分が原因で「already locked」が出てしまった時の対処法。自分がロックを取ってて、ロックが取れずコミットが出来ない事態に遭遇した・・・

SVNを使っていると、たまにありますね。 ロックが既に誰かに取得されていて、コミットしようとした時に、唖然とするやつ。 ただ、今回は状況が違いました。 いつもなら、「ロック取ってるやつ誰だよ~」って感 …

[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。

  現在、WindowsとMacの2OS持ちの私ですが、2OSにはデメリットもありまして、それをカバーするために、VMWare Fusionを使用してWindowsとの橋渡しをしたりしてる訳 …

[C#]NumericUpDownコントロールで、上下キーでの値変更を禁止する

結論から言うと、「InterceptArrowKeys」プロパティをfalseにしてやることで解決。 NumericUpDownコントロールを使うメリット 画面構築をしている際、ユーザーの任意入力項目 …

[C#]DateTimePickerは、CloseUpイベントで日付変更を取得する

日付関連で、取得した値がどうか?ってのを検出して判定する必要が出たのでメモ。 CloseUpイベントで何が判定されるのか? https://msdn.microsoft.com/ja-jp/libra …


カテゴリー