SDDへのアクセスを減らす設定 その2

前回のRAMディスク作成は対象ユーザが固定となっていて、よろしくないので修正してみた。このあたりを読んで少し勉強してみた。
Undocumented Mac OS X:第1回 initを置き換えるlaunchd【前編】【後編】

LaunchAgentsに配置された設定ファイルは、ログイン時にユーザーごとに起動され、それぞれのユーザー権限で動作するlaunchdで処理される

該当ユーザのLaunchAgentsにRAMディスク作成用のスクリプトを仕掛けてみる。~/Library/LaunchAgents/以下にlocal.ssd_setting.plistを作って設定してみる。ログイン時に一回起動するだけなので"RunAtLoad"を真に設定。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/
PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>local.ssd_setting</string>
        <key>Program</key>
        <string>/Users/<ユーザ名>/Documents/script/ssd_setting.sh</string>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

設定するスクリプト(ssd_setting.sh)は簡単にこんな感じ。エラーの通知しかたがまだ不明なのでとりあえずsyslogに通知だけしておく。

#!/bin/sh
# SSD用アクセス回数低減させる設定
  
ram_dev=`hdid -nomount ram://393216` # 192*1024*1024/512
newfs_hfs $ram_dev
mkdir /tmp/ffc #Firefoxキャッシュ用

mount -t hfs $ram_dev /tmp/ffc; RESULT=$?
if [[ $RESULT != 0 ]]
then
        logger -p user.notice "ram disk mount failed."
else
        logger -p user.notice "ram disk mount suucess."
fi

exit $RESULT

動かしてみたところログイン時にRAMディスクはマウントされていた。ユーザスクリプトの配置先がいまいちスッキリしない。どこが良いものか…。