普段使っているノート PC は pdumpfs でバックアップをとっている。 任意のスナップショットから簡単にファイルを復元できるので、バックアップ用HDDを別に用意できる場合はこれが便利。
会社で使っている Windows デスクトップは、rsync でWindowsファイルサーバへ同期。 1世代しかバックアップが無い。 少なくとも数世代前のファイルが復元できるようにしておきたい。
某 Linux サーバはバックアップ無し! マズイ。 現状、たまに手動で tarball にして保存しているぐらい。
DAR というバックアップコマンドの紹介を見て興味をひかれた。 シンプルながらも使い勝手の良さそう。 Linux でも Windows でも動くというのも嬉しい。
Linux 上で試してみる。
/tmp の下にテスト用ディレクトリ dar を作成。 その下に home ディレクトリと var ディレクトリを作成する。
mkdir -p /tmp/dar/home/naney mkdir -p /tmp/dar/var/lib/dar echo 'abc' > /tmp/dar/home/naney/file1.txt
/tmp/dar/home 以下バックアップ対象として /tmp/dar/var/lib/dar 以下にバックアップファイルを作成してみることにする。
最初はフルバックアップ:
dar -c /tmp/dar/var/lib/dar/home-full \ -y9 \ -R /tmp/dar \ home
/tmp/dar/home をフルバックアップした home-full.1.1.dar が /tmp/dar/var/lib/dar にできる。
ファイルを1つ追加。
echo 'def' > /tmp/dar/home/naney/file2.txt
ここで差分バックアップをとる:
dar -c /tmp/dar/var/lib/dar/home-diff-1 \ -A /tmp/dar/var/lib/dar/home-full \ -y9 \ -R /tmp/dar \ home
home-full.1.dar に対する差分バックアップファイル home-diff-1.1.dar ができる。
もう1つファイルを追加。それから最初にあったファイルを削除してみる。
echo 'ghi' > /tmp/dar/home/naney/file3.txt rm /tmp/dar/home/naney/file1.txt
ここで差分バックアップ(2回目):
dar -c /tmp/dar/var/lib/dar/home-diff-2 \ -A /tmp/dar/var/lib/dar/home-full \ -y9 \ -R /tmp/dar \ home
home-full.1.dar に対する差分バックアップファイル home-diff-1.2.dar ができる。
またインクリメンタルバックアップもとってみる
dar -c /tmp/dar/var/lib/dar/home-inc-2 \ -A /tmp/dar/var/lib/dar/home-diff-1 \ -y9 \ -R /tmp/dar \ home
差分バックアップファイル home-diff-1.1.dar に対する差分バックアップファイル home-diff-2.1.dar ができる。
dar -x /tmp/dar/var/lib/dar/home-full
を実行。
home/naney/file1.txt
が復元される。
dar -x /tmp/dar/var/lib/dar/home-full dar -x /tmp/dar/var/lib/dar/home-diff-1
を実行。
home/naney/file1.txt home/naney/file2.txt
が復元される。
dar -x /tmp/dar/var/lib/dar/home-full dar -x /tmp/dar/var/lib/dar/home-diff-2
を実行。
home/naney/file2.txt home/naney/file3.txt
が復元される。
dar -x /tmp/dar/var/lib/dar/home-full dar -x /tmp/dar/var/lib/dar/home-diff-1 dar -x /tmp/dar/var/lib/dar/home-inc-2
を実行。
home/naney/file2.txt home/naney/file3.txt
が復元される。
直付け HDD なら pdumpfs にするところだが、ネットワーク上の別の HDD (TeraStation PRO) 上に保存したいので、DAR でバックアップすることにしてみた。
公式サイトから Windows 版バイナリをとってきて展開。 インストール無しにすぐ使える。
Cygwin ベースなのでパスの指定はちょっと変態的だが、問題なく動作。試した範囲では日本語のファイル名も OK だった。
バックアップ先を G: としてネットワークドライブ割り当てして、C: ドライブのホームディレクトリをバックアップ。
dar -c /cygdrive/g/var/DAR/mypc/mypc-home-2009-01-13 \ -P var/Dropbox \ -P var/TrueCrypt \ -y9 -s 1G \ -R /cygdrive/c/home/naney
dar -c /cygdrive/g/var/DAR/Dine/dine-home-2009-01-13.2009-01-14 \ -A /cygdrive/g/var/DAR/mypc/dine-home-2009-01-13 \ -P var/Dropbox \ -P var/TrueCrypt \ -y9 -s 1G \ -R /cygdrive/c/home/naney
macOS Catalina にアップデートしてから Time Machine が
信頼性を向上するために、新規バックアップを作成する必要があります。
とエラーを出すようになってしまったので、一昨日ノートン セキュリティをやめて Sophos Home に変更してみた。 AirMac Time Capsule と Synology DiskStation DS216j の2台それぞれに初回バックアップと何回かの増分バックアップまで実行したけれど、今のところエラーが出ていない。 ようやく Time Machine がまともに戻るかなー。
ノートン セキュリティをアンインストールしてからしばらく経った。今のところ Time Machine バックアップが壊れていない。いったん一安心して良さそうだ。
前回のバックアップから変更が多いとバックアップ完了に時間がかかるのは今まで通り。誤操作して戻したいときに「まだ増分バックアップが取れていなかった」だと Time Machine の便利さ半減なので、以前見つけた TimeMachineEditor をこの MacBook Pro にも入れて1時間毎にローカルスナップショットを作成しておくことにした。
ついでにこのツールで Time Machine バックアップ間隔をデフォルトの1時間から「不使用時」に変更。
Time Machine の見直しはこれで一段落だ。
セキュリティソフトを Sophos Home に変更したところ Time Machine バックアップが
信頼性を向上するために、新規バックアップを作成する必要があります。
とならなくなった。これで解決と思ったら今度は増分バックアップが「準備中です」から進まなくなってしまった。 Sophos Home のせい?
によると Network File Scanning を無効にすると良いらしい。昨晩寝る前に無効にし今日チェックしたところ順調に進むようになっていた。よしよし。
バックアップの間隔が長いと増分が多くなり時間がかかりすぎて途中でやめざるを得ないことが結構ある。 TimeMachineEditor でバックアップ間隔を「不使用時」に変更していたのも戻しておいた。1時間毎のローカルスナップショットは引き続き有効にしておく。
これでほんとに Time Machine 設定は一段落になるかな。
先々週に Google ドライブ・Dropbox に同期しないファイルは Cloud Station に同期するように設定した。その際に Cloud Station の後継の Synology Drive が出ているのを知ったので、今日アップグレードすることにした。
公式サイトの手順に従いアップグレード。
サーバ側は問題なく終了。依存する Node.js が先立ってインストールされて「へー」ってなった。
Mac 側はちょっと大変な事態に。Synology Drive Client をインストールすることで Cloud Station Drive が置き換えられて同期設定も移行された。
問題はここから。移行後の初回同期で、変更が無いファイルも全てサーバからクライアント側にガンガン同期し始めた。これ、ファイル内容に変更はないのだけれど Time Machine 的には増分バックアップ対象になってしまって無駄なバックアップが作られることになった。
しかも一部ファイルが書き込めないとリトライし続けている様子。オーナーの書き込み権限がなかったファイル(CVS・RCS のファイルや過去 CD-R からコピーした psd ファイルなど)っぽい。
同期途中で一時的に「双方向同期」を「単方向アップロード」に変更してみた。アップロード方向だとローカルホスト上で更新がなければ転送しないようだ。
初回の同期が終わったところで「双方向同期」に設定を戻してみたところ、やはりまたダウンロードを始めてしまった。バックアップ目的でしか同期していないので「単方向アップロード」のままにしておくことにする。
そうそうメニューバーに表示される Synology Drive Client のアイコンがイケてないと思ったのだけれど設定から「シンプルなシステム トレイ アイコンを使うにする」にしたら単色のいい感じのなった。
「単方向アップロード」にした際に「ローカルで削除されたファイルをサーバーに保存」がオンになっていたのでオフに。
削除済みのものが NAS 側だけに残っているとわけが分からなくなるので一度「双方向同期」に変更したら、削除済みのファイルがローカルに戻ってきてちょっと辛いことになり始めたので中断。いったん同期タスクを削除 & NAS 側を削除し、あらためて双方向同期させた。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。