投稿カテゴリ整理中。ご迷惑をおかけします。

【Windows】データのバックアップを取得しよう

本稿はWindows環境でバックアップを検討している方や,robocopyの実務利用を想定している方向けにまとめています。

今回は手っ取り早くデータのバックアップを取得する方法の紹介です。

バックアップの取得が大事と分かってはいても,やり方が分からなかったり何かと大変さを感じて中々実施していない人もいるのではないでしょうか。

パソコンのHDDやSSDは突然故障することもあり,何かあってからでは本当に手遅れとなる可能性が高いです。

万が一の被害を最小限に抑える意味でも,定期的(月1推奨)にバックアップを取得するようにしましょう。

目次

前提知識

コマンドプロンプト

「コマンド」を入力して実行するための機能です。

コピー等の普段マウスで行っている操作を,コマンド入力で実行することができます。

一度入力したコマンドの記憶機能もあり,矢印キーを押下することで簡単に再実行することも可能です。

イツキ

コマンドが分かってきたら,自分で「BAT」ファイル等を作成して処理の自動化もできるよ!

実務での利用

Windows環境でのバックアップにおいて,robocopyは標準機能で利用できる強力な機能です。

特に定期バックアップや差分コピーを行う際に高頻度で使用することもあり,運用設計によっては単純かつ安定したバックアップ環境を構築できます。

コマンド

フリーソフトの使用等やり方は様々な中で,今回はコマンドを使用したバックアップ取得方法をご紹介します。

ハヤト

コマンド入力って聞くと,何だか難しそう(汗)

イツキ

難しいコマンドも確かにあるけど,今回はものすごく簡単だよ!

「コマンド」と聞いて,IT初心者や初級者の方はやや抵抗があるかもしれませんね。

ですが安心してください!
今回は非常に簡単です!

ぜひとも覚えて,定期的なバックアップ取得に役立ててください!

robocopy

コピーに特化したコマンドです。

実際の運用では,ファイルサーバのバックアップ用途としてrobocopyを頻繁に利用しています。

他の手段として,エクスプローラで直接コピーしたり,copyコマンドやxcopyコマンドもあります。

ですが,robocopyは上記に挙げた他の手段と比較しても,robocopyならではの有用機能を兼ね備えています。(差分コピーや再試行機能等)

したがって,エクスプローラ等でのコピーよりも,より安定したバックアップ処理が可能です。

イツキ

バックアップを取得する際に,とても有用なコマンドと覚えておけば問題ないよ!

コマンドは以下の規則に従って実行(コマンド入力後に「Enter」押下)します。

例えば,Dドライブの中身すべてを外部メディア(外付けHDD等,Fドライブとする)へコピーするとします。

上記の場合,最低限以下のコマンドを入力して実行すれば問題ありません。

オプション解説
  • /s
    サブディレクトリをコピー
  • /e
    空のディレクトリをコピー
  • /R:n
    コピーを失敗した場合の再試行回数n回(例では3回)

    省略すると1,000,000回再試行する。
    いつまで経っても終わらない可能性があるため,指定を強く推奨
  • /W:s
    再試行するまでの待機時間s秒(例では10秒)
    省略した場合は30秒。

なお,コピー先に指定したフォルダが存在しない場合は,自動的に作成してくれます。

もし「/MIR」オプションを使用する場合,意図しない削除が発生する可能性もあるため注意が必要です。(今回の例では使用していません。)

実際に「/MIR」オプションを使用した際,コピー元に存在しないファイルが意図せず削除される事態が生じました。(コピー先から,コピー元で削除したファイルも消えてしまった。)

バックアップ取得方法

STEP
コマンドプロンプト起動
  • スタートメニューから「コマンドプロンプト」を選択します。

STEP
コマンド実行
  • コマンドプロンプト上でコマンドを入力して,「Enter」を押下します。

    コピーしたコマンドをペーストする際は,マウスで右クリックするか「Ctrl」+「Shift」+「V」を押下しましょう。

  • 処理が動き出し,完了するまで待機します。

STEP
(任意)事後確認
  • WinMergeを起動して,コピー元とコピー先の比較を実施します。



    差異のあるファイルのみを表示するようにすると,より確認しやすいかもしれません。(「表示」→「同一項目の表示」のチェックを外す。)

コマンド実行結果の確認だけでなく,他の機能やソフトを利用した確認(クロスチェック)も実施して担保を取ろう!

注意点

robocopyを扱う際は,特に以下を注意しましょう。

  • /MIR による削除(意図しないファイル削除)
    コピー元に存在しないファイルは削除されるため,誤ったパスで実行するとデータ消失につながる可能性があります。
     
  • コピー元とコピー先の権限不足
    コピー元とコピー先の両方に,実行ユーザに対して権限を付与する必要があります。(フルコントロール権限を付与しておけば問題なし。)

robocopyは便利な反面,事故も起こしやすい。

実務でのバックアップ設計例

実務では以下のように活用可能です。

  • 夜間にタスクスケジューラで実行
  • /MIR オプションでミラーリング
  • ログ出力で結果を確認

上記のように,運用設計と組み合わせることでバックアップ基盤として利用することが可能です。

robocopyの終了コードと対処

robocopyは通常のコマンドと異なり,終了コードの意味が特殊です。

一般的には「0」が成功ですが、robocopyでは「8未満」が成功扱いとなります。

robocopyは終了コードが0以外でも正常となる場合もあるため,一般的なコマンドとは判断基準が異なる点に注意が必要です。

robocopyはログ出力(/LOG)を活用することで,万が一エラーとなった際の原因特定が容易になります。

主な終了コード

#終了コード状態概要対処の方向性
10正常コピー対象なし対応不要
21正常コピー成功対応不要
33正常一部コピーあり(差分あり)ログ確認
45注意不一致ありログ確認
58以上失敗コピー失敗原因調査
メグミ

なんてややこしい(汗)

イツキ

本当にその通りだね(汗)

よくあるエラー原因と対処

もし終了コードが3以上となっていた場合の確認観点は以下の通りです。順番に確認してみてください。

終了コード3(robocopyでのパス不正)

原因対処
・フォルダが存在しない
・パス指定誤り
・絶対パス(フルパス)での指定
・相対パスのフォルダ構成見直し
・事前にディレクトリを作成

終了コード5(robocopyでのアクセス拒否)

原因対処
・権限不足
・管理者権限なし
・管理者権限で実行
・/ZB (再起動可能+バックアップモード)を設定

終了コード8以上(robocopyでのコピー失敗)

原因対処
・ファイルロック
・ネットワーク切断
・/R(再試行回数)を設定
・/W(待機時間)を調整
・ping等でのネットワーク疎通確認

タスクスケジューラでの自動化

robocopyは,タスクスケジューラと組み合わせることで自動バックアップが可能です。

ただし,実行環境の違いにより「手動では動くがタスクでは動かない」場合もあります。

詳細は別途解説します。

まとめ

robocopyは単純でありながら強力なファイルコピー機能を持ち,実務ではバックアップ用途として広く利用することも多いです。

運用設計と組み合わせることで,安定したバックアップ環境を構築することが可能となります。

とはいえ,robocopyでなくても,マウス操作によるコピー&ペーストやショートカットキー(「Ctrl」+「C」→「Ctrl」+「V」)でも可能ではあります。

それぞれの利点や難点を踏まえて,より最善な手段を選べるようにしていただけたら幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

Author

               
イツキのアバター
イツキ
               

ITインフラ分野における実務経験をもとに,技術情報の発信・著述活動を行っています。

24年度よりITフリーランスとして事業を開始し,インフラエンジニアとして設計・構築・運用改善(自動化)に従事する一方で, 専門的な知見を活かした技術解説記事の執筆を継続。

ITインフラや業務効率化等の分野において,実務に役立つ情報やITリテラシー向上に資するコンテンツを発信中!                

目次