器具田研究所

http://www.kiguda.net/CMS/

OSXで外付けHDDをスリープさせない方法 (ひと工夫)

∬゜ΘωΘÅ < キグダフタヌーン! 外付けHDDのストレス負荷を低減する方法だお!!

外付けHDDはコントロールチップによって勝手にスピン停止し、再スピン時にOS側がうまく対応してくれずアプリケーションが誤動作するのです。
内蔵HDDでも節電ファームウェアでやらかす製品があります。とくに安いやつ。

Windowsではソレ防止だけのアプリケーションがあったりしますよね。
ダミーアクセスを定期発生させるだけですけども。

外付けHDDのスリープをさせない方法を教えてください。

↑こっちはMacユーザが質問してますね。

ダミーアクセスなら、OSXに標準で入っているAppleScriptで回しておけばいいんですよね。
ムダを削ぐならターミナルに降りてlaunchdに登録するべきでしょうが、自分で忘れたときウイルスじゃないかとか精神衛生上悪いじゃないですか。

☆使い方ですー。

(1) 目的のスリープさせない外付けHDDのボリューム名……EXT_HDD
(2) EXT_HDDのルートにフォルダ「スリープ防止用アクセスフォルダ」を作る
(3) 「スリープ防止用アクセスフォルダ」の中にテキストファイル「keep_spinning.txt」をエディタなどで作り、保存(内容はなんでもいい、空でもいい)
(4) アプリケーション>ユーティリティ>AppleScriptエディタを起動
(5) 以下のスクリプトをコピペしてコンパイルボタンを押す
(6) 実行ボタンを押すと、空アクセスしたあと4分休む動作をくり返します。通常5分程度でスリープに入るので、このスクリプトを実行している間はスリープしません。




-- 外付けHDDの回転キープするAppleScript
-- ラベル色を変化させることでアクセスを発生
-- by Kiguda Lab. 2012/12/29

set delayTime to 4 * 60
set toggleLabel to 0

repeat
tell application "Finder"
set toggleLabel to (toggleLabel + 1) mod 8
set sourceFile to file "keep_spinning.txt" of folder "スリープ防止用アクセスフォルダ" of disk "EXT_HDD"
set label index of sourceFile to toggleLabel
end tell
delay delayTime
end repeat