2015/03/01

Mac の Time Machine で無線 LAN ルーターの NAS にバックアップする方法


バッファローの無線LANルーター(AirStatioin)の NAS につなげられる USB のハードディスクがあまっていたので、Mac の Time Machine でバックアップする方法はないかと調べてみたら、なんとあるじゃないですか。

その方法をご紹介します。

なお、使用環境は、Macbook Air + OS X Yosemite (10.10.2) で、無線LANルーターは以下のものです。

 

 Time Machine の設定

まず、Finder を起動して、アプリケーション >> ユーティリティ からディスクユーティリティを起動します。そして、[新規イメージ] をクリックします。

Pic01

 

Pic02

設定は以下のように行います。

  • 名前(上部):仮想ディスクのファイル名
  • 名前(下部):ディスク名
  • サイズ:仮想ディスクのサイズ、カスタムでディスクの2倍位?
  • フォーマット:そのまま
  • 暗号化:そのまま
  • パーティション:そのまま
  • イメージフォーマット:スパースバンドルを指定

設定が済んだら、[作成] をクリックします。

すると、画面左にディスクイメージが表示されるので、右クリックして「マウントを解除」します。

Pic03

そうしたら、先ほど作成した「TimeMachine_NAS.sparsebundle」を Finder を使って、NAS 上でバックアップを取りたいハードディスク上にコピー後、ダブルクリックしてマウントします。コピー元のファイルは削除しておきます。

Pic04

ターミナルを起動し、以下のコマンドでマウントされていることを確認します。

$ ls /Volumes/
Macintosh HD  TimeMachine_NAS  disk3_pt1

そうしたら、以下のコマンドを実行します。

$ sudo tmutil setdestination /Volumes/TimeMachine_NAS/

システム環境 >> Time Machine を起動すると、以下のようにディスクが追加されているので、設定を「入」にすることで Time Machine でバックアップの設定は完了です。

Pic05

スリープからの復帰時に再マウントする方法

上記の方法だと、スリープからの復帰時に 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

メニューの ファイル >> 書き出すで、以下のように、ファイルフォーマットを「アプリケーション」にして、「ハンドラの実行後に終了しない」にチェックを入れてから「保存」します。

Nas01

次に、システム環境設定 >> ユーザとグループ から、自分のユーザーの「ログイン項目」を表示し、「+」ボタンから先ほど作成したアプリケーションを登録します。

Nas02

これで、一度ログオフしてからログインして、NAS がマウントされれば設定完了です。

トラブルシューティング

以下のように、「タイプ -5014 のエラーが起きました。」というエラーが発生した場合は、ルーターのファイル共有機能機能を 無効→有効にすることで、再度マウントできるようになりました。ルーターの再起動でもいいかもしれません。

Error

 

もし、「ディスクが読み取り専用です」というようなエラーがでたら残念ながら、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 ではブログにはない、いろんな情報を発信しています。


コメント

こんにちは。
私、先日Air Mac からバッファローのルーターに変更したところ、うまく作動しなくなったので、ご紹介されている方法を試してみようと作業してみました。
ところが「Finder を使って、NAS 上でバックアップを取りたいハードディスク上にコピー」のところでやり方が分からなくなったた諦め、ディスクユーティリティーから「TimeMachine_NAS.sparsebundle」を消去しようとすると何時間もかかってしまい、途中でスキップしましたが、パソコンの動作がおかしくなってしまいました。。
これを回復させるには、MacのOSを再インストールするしかないでしょうか?
もしお分かりになったら教えていただけたら幸いです。。

度々済みません。
元々、タイムマシーンで外付けHDにデータのバックアップを取っていましたが、バッファロールーターに変えたら、HDを認識しなくなって、この方法を試してみました。補足でした。。。

>>ことりさん

Finder の再起動で Mac が動作するようになりませんか?

あと、記事にも書きましたが大容量のファイルを Mac の Finder から削除しようとすると、非常に時間がかかります。ここはルーターのメニューから入り、ハードディスクをフォーマットするほうが断然早いと思います。

コメントを書く



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。現在は趣味SE。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。


    >>ブログ詳細
    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから