私の考えた最強のバックアップ&アーカイブ(2020年版)

個人がパソコン(Windows環境)に保存している写真や音楽、書類などのファイル(1TB前後)を絶対に失わないように安全に保存する方法を考えました。

アドバイスお待ちしてます!

【0.バックアップとアーカイブの違いを確認する】

現在、データを安全に保存するには相応のコストが掛かるので、生じた全てのデータを長期間保存することは現実的ではありません。また、保存しているデータを取り出すときに、整理されていないとアクセスがしづらいという問題が生じます。
そこで、ここでは、編集用・作業用のデータを守る仕組みをバックアップ、長期間保存する整理されたデータをアーカイブと呼び、区別します。

【1.ファイル履歴でバックアップ】

「ファイル履歴」機能を有効にします。(Macでは「Time Machine」)

画像1

データが失われる原因は様々です。パソコンやストレージの故障、誤操作意図しない戻るやカット&ペーストレイヤーを結合して上書き保存誤って削除)、ファイル保存時のフリーズ電源の脱落、コンピューターウイルス。バックアップが破損したデータで上書きされるのを防ぐため、必ず履歴を含めてバックアップを行います。(最新バージョンのバックアップだけでは危険です)

小型のUSBメモリーSDカードを利用すると簡単に導入できます。

【2.クラウドにバックアップ】

クラウド(オンラインストレージなど)にデータを保存します。
窃盗火災落雷災害などで手元の環境自体が失われると、バックアップしたデータも同時に失われてしまいます。
クラウドの同期フォルダに直接ファイルを保存すると、競合が生じる場合があります。バックアップソフトやrobocopyなどのコマンドを使用して、オリジナルの保存フォルダとクラウドの同期フォルダをミラーリングしましょう。
クラウドもバージョン履歴の残るサービスを利用することが好ましいです。

無料のサービスもあります(データ流出にご注意)

― オンラインストレージの例 ―
Googleドライブ OneDrive Dropbox Box iCloud SugarSync firestorage Mega MediaFire Evernote

― Robocopy のコマンド例 ―
Robocopy [バックアップ元] [バックアップ先] /s /PURGE
・管理者権限で動作
・同一日時、同一ファイルサイズのファイルはスキップ
・バックアップ先の日付が新しくても上書き
/s サブフォルダを含める
/PURGE バックアップ元に存在しないファイルを消す

バッチファイルを作成して、タスクスケジューラ(taskschd.msc)でタスクを組んで実行させるか、ショートカットを作成しスタート画面にピン留めしておくと実行しやすい

― バックアップソフトの例 ―
BunBackup

【3.NASにアーカイブ】

長期間保存する必要のあるデータは、編集の必要がなくなり次第、アーカイブします。容易にアクセスできるよう整理して保存します。ファイル数の多いデータなどは必要に応じて7-zipなどのアーカイバで圧縮します。
ファイルのコピーには失敗することがあるほか、いつの間にか破損したり、不作法なソフトにより意図せず変更が加えられることもあります。コピーしたファイルのハッシュ値を比較し、ファイルは読み取り専用に設定、ユーザー権限の設定は慎重に。
不整合を防ぐため、アーカイブに対して行う操作、ファイルサイズ、ハッシュ値は表計算ソフトなどで控えておきます。
ストレージやNAS自体の故障に備え、2ドライブ(RAID 1)のNAS×2台に同じ操作を行います。破損したデータで上書きすることを避けるため、NAS同士のミラーリングは行いません。NASは無停電電源装置に接続することが好ましいです。

【4.アーカイブのデータベースを作成】

不正な操作ストレージの故障などにより、アーカイブに保存されているデータには不整合や損傷が生じます。そのため、定期的な比較検証が必要です。

FolderDiffというソフトが便利です。

3つ以上のストレージを検証する場合、データベースを利用すると比較しやすいです。FolderDiffでファイルの一覧とハッシュ値をCSVに書き出し、(ドライブ名を除く)パス+ファイル名をキーに、データベースに登録します。
※フォルダ構成が同一である必要があります

SQLiteの場合、まず、①各テーブルから全てのパス+ファイル名を統合したテーブル「UNION」を作成し②各テーブルからそれぞれのファイルのハッシュ値を統合したビュー「ハッシュ値リスト」を作成し③相違のあるレコードを抽出します。

CREATE VIEW [UNION] AS 
SELECT [パス+ファイル名] FROM [テーブル1]
UNION
SELECT [パス+ファイル名] FROM [テーブル2]
UNION
SELECT [パス+ファイル名] FROM [テーブル3];
CREATE VIEW [ハッシュ値リスト] AS 
SELECT 
[UNION].[パス+ファイル名] AS [パス+ファイル名],
[テーブル1].[ハッシュ値] AS [テーブル1ハッシュ値],
[テーブル2].[ハッシュ値] AS [テーブル2ハッシュ値],
[テーブル3].[ハッシュ値] AS [テーブル3ハッシュ値]
FROM
[UNION]
LEFT OUTER JOIN [テーブル1] ON [テーブル1].[パス+ファイル名] = [UNION].[パス+ファイル名]
LEFT OUTER JOIN [テーブル2] ON [テーブル2].[パス+ファイル名] = [UNION].[パス+ファイル名]
LEFT OUTER JOIN [テーブル3] ON [テーブル3].[パス+ファイル名] = [UNION].[パス+ファイル名];
CREATE VIEW [不一致] AS 
SELECT 
[ハッシュ値リスト].[パス+ファイル名] AS [パス+ファイル名],
[ハッシュ値リスト].[テーブル1ハッシュ値] AS [テーブル1ハッシュ値],
[ハッシュ値リスト].[テーブル2ハッシュ値] AS [テーブル2ハッシュ値],
[ハッシュ値リスト].[テーブル3ハッシュ値] AS [テーブル3ハッシュ値]
FROM
[ハッシュリスト]
WHERE [テーブル1ハッシュ値] is null OR [テーブル2ハッシュ値] is null OR [テーブル3ハッシュ値] is null OR not([テーブル1ハッシュ値] = [テーブル2ハッシュ値]) OR not([テーブル1ハッシュ値] = [テーブル3ハッシュ値]);

【5.Amazon S3 Glacier Deep Archiveにアーカイブ】

バックアップ同様、アーカイブも窃盗火災落雷災害などに備えて、クラウドに保存することが好ましいでしょう。
Amazon S3 Glacier Deep Archiveは1TBのデータを月0.99米ドル~(現在のレートで約100円~)で保存できるサービスです。ただし、ダウンロードには別途料金が必要になります。詳しくはこちらのノートをご覧下さい。

細かいファイルを扱うには向かないので、管理しやすい様に、アーカイバである程度まとめてアップロードすると良いと思います。6ヶ月間の最低期間が設定されていますが、それを過ぎれば削除のリクエストは無料なので、一時バケットを用意して、アーカイブに追加したデータはそこに保存しておいて、6ヶ月経過してまとまったデータを改めてアップロードすると良いでしょう。

【備考】

光ディスクを使用しない理由/データの損傷を把握するのが困難である、データ量が多いと扱いづらい
他の選択肢/BackBlazeは年3,210円~でクラウドにバックアップが可能(容量無制限)3~4TB以上のバックアップでは特にコスパに優れる。
写真のバックアップ/本当に大切な写真は銀塩プリントで保管をお勧め。電子機器が使用できない状況になったりパスワードを紛失したり、データが攻撃を受けて削除や暗号化されたりしても、アクセスできる可能性が高い。耐火金庫に入れるのと、盗難対策を。


この記事が気に入ったらサポートをしてみませんか?