Mac の Time Machine で無線 LAN ルーターの NAS にバックアップする方法
バッファローの無線LANルーター(AirStatioin)の NAS につなげられる USB のハードディスクがあまっていたので、Mac の Time Machine でバックアップする方法はないかと調べてみたら、なんとあるじゃないですか。
その方法をご紹介します。
なお、使用環境は、Macbook Air + OS X Yosemite (10.10.2) で、無線LANルーターは以下のものです。
Time Machine の設定
まず、Finder を起動して、アプリケーション >> ユーティリティ からディスクユーティリティを起動します。そして、[新規イメージ] をクリックします。
設定は以下のように行います。
- 名前(上部):仮想ディスクのファイル名
- 名前(下部):ディスク名
- サイズ:仮想ディスクのサイズ、カスタムでディスクの2倍位?
- フォーマット:そのまま
- 暗号化:そのまま
- パーティション:そのまま
- イメージフォーマット:スパースバンドルを指定
設定が済んだら、[作成] をクリックします。
すると、画面左にディスクイメージが表示されるので、右クリックして「マウントを解除」します。
そうしたら、先ほど作成した「TimeMachine_NAS.sparsebundle」を Finder を使って、NAS 上でバックアップを取りたいハードディスク上にコピー後、ダブルクリックしてマウントします。コピー元のファイルは削除しておきます。
ターミナルを起動し、以下のコマンドでマウントされていることを確認します。
$ ls /Volumes/
Macintosh HD TimeMachine_NAS disk3_pt1
そうしたら、以下のコマンドを実行します。
$ sudo tmutil setdestination /Volumes/TimeMachine_NAS/
システム環境 >> Time Machine を起動すると、以下のようにディスクが追加されているので、設定を「入」にすることで Time Machine でバックアップの設定は完了です。
スリープからの復帰時に再マウントする方法
上記の方法だと、スリープからの復帰時に NAS へのマウントが解除されてしまいます。このままだと、スリープから復帰するたびに Finder から「TimeMachine_NAS.sparsebundle」をマウントし直さなければならず、かなり面倒です。
調べてみたら、AppleScript を使用することでスリープからの復帰時にも自動でマウントし直せることが分かりました。
Launch Pad >> その他 >> スクリプトエディタを起動して、以下の AppleScript をコメントに従って編集します。
property interval : 1 * minutes on idle tell application "Finder" -- NAS 上のディスクを再マウント -- disk3_pt1 をマウント名に修正する if not (exists disk "disk3_pt1") then activate -- NAS 上のディスクをマウントする、パスを設定 -- smb は Windows ファイル共有のこと、ユーザー名とパスワードも設定可能 mount volume "smb://guest:@192.168.11.1/disk3_pt1" -- Time Machine のイメージを再マウントする -- マウント後のパスを設定、最後の / を忘れない do shell script "hdiutil attach /Volumes/disk3_pt1/TimeMachine_NAS.sparsebundle/" end if -- Time Machine のみ再マウント -- disk3_pt1 と TimeMachine_NAS をマウント名に修正する if (exists disk "disk3_pt1") and (not (exists disk "TimeMachine_NAS")) then -- Time Machine のイメージを再マウントする -- マウント後のパスを設定、最後の / を忘れない do shell script "hdiutil attach /Volumes/disk3_pt1/TimeMachine_NAS.sparsebundle/" end if end tell return interval end idle
メニューの ファイル >> 書き出すで、以下のように、ファイルフォーマットを「アプリケーション」にして、「ハンドラの実行後に終了しない」にチェックを入れてから「保存」します。
次に、システム環境設定 >> ユーザとグループ から、自分のユーザーの「ログイン項目」を表示し、「+」ボタンから先ほど作成したアプリケーションを登録します。
これで、一度ログオフしてからログインして、NAS がマウントされれば設定完了です。
トラブルシューティング
以下のように、「タイプ -5014 のエラーが起きました。」というエラーが発生した場合は、ルーターのファイル共有機能機能を 無効→有効にすることで、再度マウントできるようになりました。ルーターの再起動でもいいかもしれません。
もし、「ディスクが読み取り専用です」というようなエラーがでたら残念ながら、NAS上のディスクイメージが壊れた可能性が高いです。この場合、ディスクユーティリティで修復を試みるとよいと思いますが、私の環境では失敗しました。
そしてディスクユーティリティやコマンドで umount しても失敗するので、以下のようにコマンドを実行して、ディスクをアンマウントします(ディスクイメージは読み替えてください)。
$ lsof /Volumes/disk3_pt1/TimeMachine_NAS.sparsebundle
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
diskimage 744 ryu 6r DIR 46,4 16384 8272782543693183260 /Volumes/disk3_pt1/TimeMachine_NAS.sparsebundle
$ kill -9 744
これで、ディスクユーティリティから「TimeMachine_NAS.sparsebundle」を削除できるようになるので、削除してからバックアップの再設定をすればうまくいきます。今までのバックアップはなくなってしまいますけどね。
↓参考
http://takuya-1st.hatenablog.jp/entry/20101224/1293169265
あと、バックアップを消すなら、バックアップ先をフォーマットした方が早いかもしれません。Mac には Windows の Shift + Delete のショートカットキーに相当するものがないので、ファイルの上書きとか削除をしようとすると時間がかかってしまいますので。
関連記事
スポンサーリンク
Twitter ではブログにはない、いろんな情報を発信しています。
@fnyaさんをフォロー
こんにちは。
私、先日Air Mac からバッファローのルーターに変更したところ、うまく作動しなくなったので、ご紹介されている方法を試してみようと作業してみました。
ところが「Finder を使って、NAS 上でバックアップを取りたいハードディスク上にコピー」のところでやり方が分からなくなったた諦め、ディスクユーティリティーから「TimeMachine_NAS.sparsebundle」を消去しようとすると何時間もかかってしまい、途中でスキップしましたが、パソコンの動作がおかしくなってしまいました。。
これを回復させるには、MacのOSを再インストールするしかないでしょうか?
もしお分かりになったら教えていただけたら幸いです。。
投稿: ことり | 2015/11/07 16:08
度々済みません。
元々、タイムマシーンで外付けHDにデータのバックアップを取っていましたが、バッファロールーターに変えたら、HDを認識しなくなって、この方法を試してみました。補足でした。。。
投稿: ことり | 2015/11/07 16:12
>>ことりさん
Finder の再起動で Mac が動作するようになりませんか?
あと、記事にも書きましたが大容量のファイルを Mac の Finder から削除しようとすると、非常に時間がかかります。ここはルーターのメニューから入り、ハードディスクをフォーマットするほうが断然早いと思います。
投稿: fnya | 2015/11/07 20:45