大切なファイルを守るためにバックアップを定期的に自動で取る方法を調べましたのでご紹介します。
課題
私のパソコンも買ってから5年以上が経ちました。
奮発してCORE i7を入れていたので、それほどストレスなく現役で動いてくれていますが、 さすがにハード的に突然壊れてしまうことも考えられるので、ちゃんとバックアップを取らないとなと思い色々調べました。
そこで考えたのがクラウドストレージのOneDriveです。
Windows10には最初からOneDriveに直接リンクされたフォルダーがエクスプローラー上に表示されています。
そのフォルダーにファイルやフォルダーを投入するだけでOneDriveにコピーを保存することができます。
手動でもいいけど、やっぱり自動化したい
手動でフォルダをOneDriveにドラッグ&ドロップしてもいいのですが、それだと容量が多い場合めちゃくちゃ時間がかかります。
そこで、代わりに以下を使います。
- コマンドプロンプト
- 黒い画面のヤツです
- バッチファイル
- コマンドプロンプトのコマンド(命令)をプログラムのように書いておいてクリックで手軽に何度も実行できるようにするファイルです
- タスクスケジューラ
- Windowsの自動実行アプリ的なモノです
ゴールは、バッチファイルを作って、それをタスクスケジューラで定期的に自動実行することです。
コマンドプロンプトとバッチファイルについては、こちらの記事がとても分かりやすく解説してくださっています。
https://wa3.i-3-i.info/word11216.html
バッチファイルの中身
私の場合、バッチファイルの記述は以下のようにしています。
※rem はバッチファイル上のコメントアウトでコマンドと認識されず無視されます。
ファイル名:backupFolder.bat ←拡張子を.batにします
rem 環境変数srcにバックアップ対象フォルダを格納
set src=C:\Users\ユーザー名\Documents\フォルダ名
rem 環境変数dstにバックアップ保存先を格納
set dst=C:\Users\ユーザー名\OneDrive\バックアップ先フォルダ名
robocopy %src% %dst% /mir /r:1 /w:1
最後の行にあるrobocopyという機能を使ってフォルダの中身を高速でコピーしてくれます。
ちなみに、robocopyは「ロボットコピー」のように見えますが、robust(強固な) copyの略だそうです。
エクスプローラー上で手動でフォルダコピーをすると数分かかるような容量でも一瞬で終わります。
robocopyの後に書かれているのはオプションで、以下の意味です。
- src:コピー元(バックアップ対象フォルダ)
- dst:コピー先(バックアップ保存先)
- /mir:ミラーリング(コピー元で削除されたファイル/フォルダをコピー先でも削除)
- /r:1 :失敗した場合の再試行回数
- /w:1 :再試行までの待機時間
上記の記述ではOneDriveにバックアップを保存しています。
※日本語表記の部分は適宜置き換えてください。
※注意:ミラーリングにしているので、コピー先のパスを間違えると、コピー先にあるファイルが削除されてしまいます。ゴミ箱にも入らず、復元できなくなりますのでくれぐれもパスを間違えないようご注意ください。
robocopyについてさらに詳しくはこちらの記事が分かりやすく解説してくださっています。
バッチファイルができたら、そのファイルをダブルクリックすると黒い画面(コマンドプロンプト)が起動してコピーが始まります。
OneDriveではなく、外付けハードディスクをバックアップ保存先にするのも良いかも知れません。
その方がデータ転送が速くて少しストレスが減ると思います。
なお、私はWeb制作の学習を始めたころ、すべてのWeb制作のファイルをOneDriveだけに保存して、PCのローカルには保存していませんでした。
しかし記憶がおぼろげですが、確か保存先がOneDrive内だと、MAMPでWordPressのインストールができなかったので、ローカルに保存するようになりました。MySQLなどのデータベースを、クラウドストレージに保存するのが「そもそも構造上ムリ」みたいな話だったと思います。
すべてOneDrive上で完結できると本当に楽なんですがねぇ。
OneDriveと「ドキュメント」フォルダの同期機能
先日、Windows10にはドキュメントフォルダをOneDriveに同期する機能があることを知りました。
しかし、よく調べると注意が必要だとわかり、私はやめておきました。
問題は、「同期」と言ってもコピーをOneDriveに置く訳ではなく、フォルダを丸ごとOneDriveに「移動」してしまい、ローカルにはOneDriveのフォルダへのショートカットだけが残るという点です。
エクセルやワード程度のファイルしかなければ理想的な環境だと思いますが、前述のWordPressがインストールできなかった問題があるためです。
詳しくはこちらの記事が解説してくださっています。
タスクスケジューラで自動実行
でき上がったバッチファイルを定期的に自動実行するようにタスクスケジューラの設定をします。
リンクばかりで申し訳ありませんが、こちらのサイトがとても分かりやすく解説してくださっていますのでご覧ください。
毎日か週に1回か、用途に応じた間隔でバックアップを自動化しましょう。