1 views

実現する機能

かみさんのノートパソコンが壊れた際に、データがバックアップされていなかったので怒られた。Windows 10 に標準で付いている下図のバックアップ機能で毎日バックアップされるはずだと思って調べてみたら機能していなかった。そこで手作りでバックアップコマンドを作成し自動起動するようにしてみた。1時間ごとにバックアップが起動するので、1回目はバックアップに数時間を要するが、2回目以降は10分もかからないので文句は言われていない。
以下に構築手順を備忘録的に記す。

(図はクリックすると拡大表示されます。以下同じ)

自動バックアップまでの手順

(1)バックアップするフォルダの場所を確認

(1)ユーザーごとに保管されるデータの場所が決まっているので、その場所を確認する。まず赤枠1のフォルダアイコンをクリックして、表示される赤枠2のPCアイコンをクリック

(2)表示される赤枠のローカルドライブ(C:)アイコンをクリック

(3)表示される赤枠のユーザーフォルダアイコンをクリック

(4)表示されるユーザー名フォルダから自分のフォルダアイコンをクリック(例示の「toyop」は私のユーザー名)

(5)表示される一覧から赤枠1の「AppData」を右クリックして、表示される一覧から赤枠2の「プロパティ」をクリック

(6)表示される一覧から赤枠1の場所「C:¥Users」と赤枠2の自分のフォルダ名を紙に記録しておく。赤枠3の×をクリックして閉じる

(2)バックアップするフォルダの保管場所を確認

(1)バックアップしたデータの保管場所は自分で選ばなければいけない。ここでは、外付けのハードディスクを保存先に選んで場所を確認してみる。まず赤枠1のフォルダアイコンをクリックして、表示される赤枠2の外付けハードディスク(例示では「My Book(D:)」)アイコンをクリック

(2)表示される一覧から、保存先のフォルダを選び(例示では赤枠1の「toyop」を選択)して、そのフォルダを右クリック

(3)表示される一覧から赤枠1の場所「D:¥」と保存先のフォルダ名(例示では「toyop」)を紙に記録しておく。赤枠2の×をクリックして閉じる

(3)メモ帳を使って自動バックアッププログラムの作成

(1)アプリの「メモ帳」を使ってプログラムを作成するので、赤枠1のスタートアイコンをクリックして、表示される赤枠2の「Windows アクセサリ」をクリック

(2)赤枠1の「メモ帳」アイコンを右クリックして、表示される赤枠2の「その他」をクリックし、さらに表示される赤枠3の「管理者として実行」をクリック

(3)アプリの「メモ帳」が表示されるので、赤枠の「robocopy “C:¥Users¥toyop” D:¥toyop /MIR /r:5 /w:1」を入力し、適当に名前をつけて、拡張子を必ず「.bat」にして保存する。例示では「robocopy.bat」という名のファイルを「C:¥ProgramData」フォルダに保存した。
「robocopy」はコピーを命ずるコマンド
「C:¥Users¥toyop」はバックアップ元のフォルダの場所。Windows 10 では「”」は付けなくでも大丈夫
「D:¥toyop」はバックアップ先のフォルダの場所
「/MIR」はコピー元とコピー先の内容を同期させるコマンド
「/r:5」はリトライを5回まで繰り返すコマンド。できなければコピーをパス
「/w:1」は1秒間隔でリトライを繰り返すコマンド

(4)自動バックアッププログラムの動作確認

(1)作成したプログラムの動作確認をするため、アプリの「コマンドプロンプト」を使ってプログラムを実行させてみる。まず、赤枠1のスタートアイコンをクリックして、表示される一覧から赤枠2の「Windows システムツール」をクリック、さらに表示される一覧から赤枠3の「コマンドプロンプト」をクリック

(2)赤枠のとおり「robocopy “C:¥Users¥toyop” D:¥toyop /MIR /r:5 /w:1」と入力してリターンキーを押す

(3)画面のとおり展開されるようならプログラムの動作確認はOK。結果が出るのは数時間後だが、待てないので次の作業に移る。

(5)バックアッププログラムの自動化手順

(1)作成したプログラムを1時間ごとに自動で起動させるために、「タスクスケジューラ」を使う。まず、赤枠1のスタートアイコンをクリックして、表示される一覧から赤枠2の「Windows 管理ツール」をクリック、さらに表示される一覧から赤枠3の「タスクスケジューラ」をクリック

(2)赤枠の「タスクの作成」をクリック

(3)赤枠1に適当に名前を入力し(例示では「bakckup」)、赤枠2の「トリガー」タブをクリック

(4)赤枠1で「毎日」を選択し、赤枠2で「1時間間隔」と「無期限」を選択し、赤枠3の「OK」をクリック

(5)赤枠の「操作」タブをクリック

(6)赤枠1で「参照」をクリックして、赤枠2に作成したプログラム(例示では「robocopy.bat」ファイル)を選んで表示させ、赤枠3の「OK」をクリック

(7)赤枠1の「タスクスケジューラライブラリ」をクリックして、表示される一覧から赤枠2の「backup」をクリックし、赤枠3の「実行」をクリック

(8)「コマンドプロンプト」が起動してコピーが始まるようならOK。

※現在の設定だと、間違って削除したファイルは、1時間後にはバックアップ先からも削除されるので、これを回避するには、「(3)メモ帳を使って自動バックアッププログラムの作成」の(4)に戻って、「robocopy “C:¥Users¥toyop” D:¥toyop /MIR /r:1 /w:5」に続けてスペースと「/XX」を加える。つまり、「robocopy “C:¥Users¥toyop” D:¥toyop /MIR /r:5 /w:1 /XX」と修正のこと。
「/XX」はコピー先にしかないファイルは同期の対象から除外するコマンドなので、コピー元を誤って削除してもコピー先には残り続けるので復元が可能となる。

以上

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください