せっかくWindows用のアプリを作って公開したので若干それに関連する記事でも書いてみます。
バックアップについては何回か書いてますが、大事なことなので(ry

さて、PCを持っている人なら写真や動画、資料なんかの大事なデータを
保存されている方もおられると思います。

そういった大事なデータですが、バックアップは取っていますか?
PCなどに保存しているデータはハードディスク(HDD)という装置に入っています。
実はこいつは曲者でして、何の前触れもなくイキナリぶっ壊れてくれる事があります。
今のHDDは大概、S.M.A.R.T.という機能が搭載されていて、多少は故障の予測もできますが
完璧ではないうえに、サーバーなんかの管理者でない限りはそんなものはいちいち
チェックしていないと思います。

もちろん、回転音がおかしいとかそういう前触れがある場合もよくありますけどね。

さて、運悪く大事なデータが入っているHDDが壊れてしまいました。。。
この場合はバックアップを取っているのといないのでは大きく違います。

■バックアップを取っていない場合
 HDDがまだ動いて認識する場合はすぐにでも別の記録媒体へコピーする。
 HDDはまだ動くがOSが起動できない場合はLiveCD等を使って
 なんとか別媒体へコピーできないか試す。
 HDDが動かなかったり読取自体も不可能な場合は諦める。
 諦めきれない場合はデータ復旧業者に依頼する(物凄い額を提示されるでしょうw)
 最悪、データ復旧業者でも不可能な場合は諦める以外は何もできませんw

■バックアップを取っていた場合
 大事なデータのコピーがあるので慌てる必要はないが、
 できればすぐにでもバックアップデータを別の媒体にコピーしておく。

対応方法が全然違いますね。
なのでバックアップ用に外付けのHDDやフラッシュメモリ等を買ってコピーしておくといいでしょう。
バックアップ用のHDDを買ったりとコストはかかりますが、いざ壊れたとき、復旧業者に頼むと
この程度の金額では済みません。

特に写真等は1000円ぐらいで買えるUSBのフラッシュメモリとかに入れておくだけでも
データ消失のリスクは大きく下がると思います。

さて、バックアップに関してなんですが、毎回新しく追加したファイルとか更新があったファイルを
選んでコピーしていたんじゃ面倒です。
だからといって、毎回全データを丸ごとコピーしていては時間もかかるし、
あまりエレガントじゃないですねw

そんな時に使えるのがコマンドプロンプトです。(Windowsの話ですね)
コマンドプロンプトはコマンドを入力することにより色々な機能を使えます。

では、そのコマンドプロンプトを開いてみます。
スタートボタンから「すべてのプログラム」→「アクセサリ」→「コマンド プロンプト」を選択します。
そうしたら、出てきました。
bkup001

で、これが何なんすか?って人もいるかと思いますが、ここにコマンド(命令)を入力して実行させます。
では以下の例を見てみましょう。

bkup002
このように、Fドライブの「新しいフォルダー」の中にある「データ」フォルダーに
大事なデータや写真が保存してあるとします。

これを別の場所にコピーしたいと思います。
コピーする先は↓のようにGドライブの「バックアップ」フォルダーの中の「データ」とします。
bkup003
見てのとおり、フォルダーの中は空っぽです。

では、コマンドでこれらのファイルをここへコピーしてみます。
次のように入力します。
xcopy "F:\新しいフォルダー\データ\*" "G:\バックアップ\データ" /D /Y /R /E

こんな感じですね。右端に行くと勝手に折り返されますが、問題はありません。
bkup004

入力したら「Enter」を押します。すると・・・
bkup005
コピーしたと出てきました!!
早速、コピー先のフォルダーを見てみましょう!

bkup006
コピーされています!
これがコマンドによるコピーです。

では、もう一度このコマンドを実行してみます。
bkup007
0個のファイルをコピー???

そうです、コピーするファイルがないという事です。
しかし、コピー元のファイルを見ると別に移動したわけではないのできちんとファイルが残っています。
もう気付いたかもしれませんが、これは同じファイルがあった場合は日付が新しい場合にだけ
上書きコピーをする、となっています。
これはコマンドの後ろの方に/D /Y /R /Eとついていますが、これはコマンドのオプションで
以下のような機能があります。
/D コピー元の日付がコピー先の日付より新しい場合に上書きする。←これがそうですね。
/Y 同じファイルを上書きする時、上書きするかどうかを聞かずに上書きする。
/R 読取専用の属性のついたファイルも上書きする。
/E フォルダー配下すべてコピーします。またフォルダーが空でもフォルダーをコピーします。

では、コピー元のファイルの1つを修正して日付を新しくしてみましょう。
bkup008
はい、更新して新しくなりました。
では、再度コマンドを実行します。
bkup009
更新されて日付が新しくなったファイルだけコピーされましたね。
これで、差分をコピーができるようになったワケです・・・が、これは少々困った事があります。
以前の記事に書いてますが、ファイルフォーマットの違いでファイルの更新日付の記録精度が異なるため
時刻の制度が低いファイルフォーマットの場合、時刻が切り捨てられるため更新時刻によっては
変更してないのに常に「新しい」と判断してコピーしてしまうという誤動作を起こす事があります。

これを回避するためには/Dではなく、/Mというオプションを使います。
上の例で例えるなら
xcopy "F:\新しいフォルダー\データ\*" "G:\バックアップ\データ" /M /Y /R /E
こんな感じですね。
/Dの代わりに/Mを指定しています。
これは何かというと、これも以前の記事に書いてますが「アーカイブビット」という属性がオンの場合だけ
そのファイルをコピーして、コピーが終わったらそのファイルのアーカイブビットをオフにする。
というものです。
「アーカイブビット」とは、ファイルが新たに作られたり内容が変更された場合は常にオンになるもので
/Mというオプションを指定してコピーしたファイルのアーカイブビットはコピー後オフになるので
次回更新されてなければオフのままなのでコピーの対象から除外されます。

これでなんとかいけそうですね。

しかし、毎回コマンドプロンプトを開いていちいちコマンドを打ち込むのは面倒ですね。
そこで、「バッチファイル」の登場です。
バッチファイルはこのコマンドを書いておくとそれを順次実行してくれます。
作り方は簡単です。

まず、「アクセサリ」の中から「メモ帳」を開きます。
開いたらメモ帳にさっきのコマンドを書きます。
こんな感じですね。
bkup010

で、保存なんですがこのときに拡張子を「.bat」で保存しなければなりません。
「ファイル(F)」→「名前を付けて保存(A)」を選択します。
すると、どこに保存するか聞いてきますね。
bkup011

保存する場所はどこでもいいのですが、このとき「ファイルの種類(T)」を「テキスト文書」ではなく
「すべてのファイル」にする必要があります。
「すべてのファイル」にしたら、必ず拡張子(.bat)まで「ファイル名(N)」に入れます。
この例では「ばっくあっぷ.bat」とします。
bkup012

するとこのような歯車かネジのようなアイコンのファイルが出来上がります。
bkup013
これをダブルクリックすると自動で先ほどのコマンドが実行される、というワケです。
実行するとコマンドプロンプトの黒い画面が出ますが処理が終了するとコマンドプロンプトは
自動で閉じられます。

このようなバックアップ用に作ったバッチファイルを先日公開した「ドライブマウント」の実行ファイルに指定すると
接続後にローカルのファイルをNASにコピーする、という事ができる訳です。
もちろん、外付HDDにコピーするようにしても構いません。
自動実行させるためにスタートアップにショートカットを作ったり、タスクスケジューラに登録してもいいでしょう。
タスクスケジューラについてはまた別の機会にw(またかよ)

今回はxcopyというコマンドについてしか触れていませんが、コマンドは物凄い数があります。
もちろん、私が知らないコマンドもたくさんあります。
ただ、こういうのは全てを覚える必要はありません。
自分が必要なものだけ覚えればいいのです。

バックアップを自動化しておくだけでも随分ラクになりますね。
HDDは消耗品という事を頭に置いて、いざと言う時に備えてみてはどうでしょうw
コメント(0件)

 

■コメントを書く
タイトル
本文 *必須
お名前 *必須
メールアドレス
ホームページアドレス
削除パスワード*必須
コメントを削除する際に必要になります。
認証キー *必須 下の画像に表示されている数字をご記入下さい。
(画像は毎回変わります)