先日ポストしたブログ(RAMDISK)では、起動時にRAMDISKを作るまでの解説をしました。RAMDISKが高速なことは判るけど、シャットダウンすれば消えてしまうRAMにデータを保存するなんてだけで、んー、なんとも中途半端 ^_^;
手順通り(ムービー参照)に再現できれば、起動すると同時にramdiskへのショートカットがデスクトップに出来上がりますが、これだけでは心細いです。
やはり揮発性メモリゆえに、シャットダウンやフリーズでディスク内に保存したデータが消えてしまう問題は残ります。定期的なバックアップと終了時に自動的にディスク内容を退避、起動時はディスク内容を復活することでこの不安を払拭しましょう。
※DropBox(ネット上のストレージサービス)についてはGoogle検索などで調べて設定しておいてください。DropBoxはMacのディスク上にネット上のストレージにあるファイルのコピーを作ります。このコピーをバックアップ先として登録してしまおうというのが今回の目的。
1. 起動時: DropBoxに保存されたデータをRAMDISKにコピー
=======================================================
[DropBox] → [RAMDISK]
=======================================================
2. 定期的にRAMDISKの内容をDropBoxにコピー
=======================================================
[RAMDISK] → [DropBox]
=======================================================
3. 終了(シャットダウン)時: RAMDISKの内容をDropBoxにコピー
=======================================================
[RAMDISK] → [DropBox]
=======================================================
こうすることで、RAMDISKが定期的にバックアップされるので、不意のフリーズ時、前回のバックアッブから起動することができます。また、終了時は自動的にRAMDISKの内容をDropBoxに保存するので、バックアップを意識することなくシャットダウンできます。起動時はDropBoxにあるデータをRAMDISKにコピーするので、前回のシャットダウンから再開できます。
肝はネットワークに接続されていること(そりゃ、DropBox使うんだから当たり前 ^^;)。もしDropBoxに接続されていない場合は、MacのDropBoxフォルダに保存されている内容しかRAMDISKにコピーされないので「データが消えた!!」と焦る事間違いなしです(苦笑) 焦らず使ってやってください。
例によって不具合やトラブルが発生してもワークスペースは責任を負いませんので、自己責任でご利用くださいね。(以下説明は、前回のブログ「RAMDISK」からの続きです。先に「RAMDISK」を見ながら設定してください)
※ブラウザ環境によっては「”」ダブルクォーテーションが正しくコピーできない場合があります。詳細は前回のブログの赤文字部分とかムービーをご参照ください。
1. 起動時のスクリプトを書きます。
アプリケーション – ユーティリティ – Terminalを起動します。
起動したら「cd /」(cdと「/」の間に半角スペースあり)と入力して[Enter]
続いて「sudo vi ramdisk.sh」と入力して [Enter]
Password: とパスワードを求められるので、Macのパスワードを入力して [Enter]
「i」キーを押して、最下段に以下をコピーペースとしてください。「==」記号は不要です
※DropBoxのフォルダは「Macintosh HD」直下「DropBox」にあると仮定します。
=========================================================
cp -r “/Macintosh HD/Dropbox” /Volumes/ramdisk
=========================================================
=========================================================
#!/bin/sh
RAMDISK=”$(hdid -nomount ram://524288)”
diskutil eraseDisk HFS+ ramdisk $RAMDISK
cp -r “/Macintosh HD/Dropbox” /Volumes/ramdisk
=========================================================
こんな風になれば正解。
無事コピーできたら「control」キーを押しながら「c」を押します。
続いて「:wq!」と入力して[Enter]
前回の起動時にAppleScriptとramdisk.shが動けば起動時に「DropBox」内の内容をramdiskにコピーします。再起動して試してください。
うまくいかない場合
=========================================================
cp -r “/Macintosh HD/Dropbox” “/Volumes/ramdisk 1″
=========================================================
とすれば動く場合があります。
尚、DropBox内のファイルは256MB以上ある場合は、例えば DropBox内に「RAMDISK」といった適当なフォルダを作成して
=========================================================
cp -r “/Macintosh HD/Dropbox/RAMDISK” /Volumes/ramdisk
=========================================================
としても良いと思います。今回は説明の都合上、最初に紹介した「DropBox」内をターゲットフォルダとします。どうですか?無事動きましたか?
2. 定期的にRAMDISKの内容をDropBoxにコピー
Terminalに「sudo vi cp_ramdisk.sh」と入力して [Enter] キーを押します。
「i」キーを押して以下をコピーペーストしてください。
無事コピーできたら「control」キーを押しながら「c」を押します。
続いて「:wq!」と入力して[Enter]
=========================================================
#!/bin/sh
cp -r /Volumes/ramdisk “/Macintosh HD/Dropbox”
=========================================================
コピーが完了したら「sudo chmod 0755 cp_ramdisk.sh」と入力して [Enter] キーを押します。
これでコピーする準備ができました。ramdiskドライブにファイルを入れて、「./cp_ramdisk.sh」と入力 [Enter]キーを押してください。DropBox下にファイルがコピーされれば正解です。
※定期的にコピーを実行するには、続けて「crontab -e」と入力して [Enter] キーを押します。
crontab というのはバックアップ等定期実行したいスクリプトを制御するシステム(cron)です。
「i」キーを押して最下段に以下をコピーペーストします。
=========================================================
*/10 * * * * “/cp_ramdisk.sh”
=========================================================
※ 10分置きに上で作ったコピースクリプトを実行するというものです。
記述が済んだら「:wq!」と入力して[Enter]を押します。
3. 終了(シャットダウン)時のスクリプトを記述します。
※スクリプトは2.のバックアップスクリプトを利用します
=========================================================
sudo defaults write com.apple.loginwindow LogoutHook /cp_ramdisk.sh
=========================================================
と入力して [Enter]キーを押します。
これだけ ^_^
この 1. から 3.までのスクリプトでRAMDISKをほぼ、安心して使える高速なディスクとして利用できるようになります。Macな人専用ですから、ご了承ください。調査環境は「Mac OS-X(Lion)」です。定期的にバックアップするあたりは、結構ほかの用途にも使えるかなぁ …