iSCSI + TimeMachine 改 その1
前にも書きましたが,TimeMachineをiSCSI経由でバックアップする試行の続き.
今までの経過を簡単に.
- 自宅ネットワークだけでバックアップを走らせる
- MacBookのスリープの復帰時にいろいろめんどくさい(略
なのでこんなスキームを立てた.
- sleep時にTimeMachineを切って,iSCSIドライブをアンマウントする
ということを考えている.
今回は前者をやります.
Sleepwatcherで自動実行
まずは下準備.
MacBookは基本,いちいちシャットダウンせずにスリープに入れる.
しかし,sleep時にフックアップを実行する術が備わっていない.
ので,sleepwatcherというsleepを監視してスクリプトを実行するプログラムを入れる.
簡単な使い方として,ホームディレクトリに".sleep"と".wakeup"という
スクリプトを書いたファイルを入れておくと勝手に実行される.*1
Turn off the TimeMachine
昨日書いたスクリプトを改造するとこんな感じ.
tmOFF.scp
activate application "System Preferences"
tell application "System Events"
tell process "System Preferences"
click menu item "Show All Preferences" of menu 1 of menu bar item "View" of menu bar 1
click button "Time Machine" of scroll area 1 of window "System Preferences"
set X to button "OFF" of window "Time Machine" of application process "System Preferences" of application "System Events"
if X = true then
else
click X
end if
end tell
end tell
これを実行用にtmOFF.appで保存しておく
とりあえず,これを"~/.sleep_dir"にでも移動しておく.
umount the disk for backup
バックアップ用ディスクをアンマウントするAppleScriptを以下に.
set X to "TimeMachine" -- target drive's name
tell application "Finder"
try
eject X
end try
end tell
ん,"diskutil umount target"でアンマウントできるとおもったんだけど,
なぜかうまくいかない.理由はよくわからん.
で,これをumountTM.appとしてさっきのディレクトリに保存する.
~/.sleep
で,以下のような感じにスクリプトを書いておく.
.sleep
/usr/bin/osascript /Users/yourname/.sleep_dir/tmOFF.app
/usr/bin/osascript /Users/yourname/.sleep_dir/umountTM.app
で,最後にパーミッションを好みの感じに.
$ cd
$ chmod +x .sleep
ああ,いい加減なパーミッション設定ですね.個人用ですから...
これでおk.
チェック
では試してみましょう.
MacBookのフタを閉じると,スリープに入るんですが,入るまでに20から30秒ほどかかります.
なんか長くなった気がしますが,大丈夫でしょう.
そして,フタを開けると,iSCSIドライブがアンマウントされ,タイムマシンが切りになっているはずです.
次回は,cron用のスクリプトを書きます!
*1:実際はこれを/etc/rc.sleepかrc.wakeupが実行する.