蓋を閉じたときにすべての外付けドライブをマウント解除するようにMacbookを構成できますか?


10

新しい13インチMacbook ProでMavericksを実行しています。このコンピューターは、Time Machineバックアップと外部ストレージに使用する外部USBドライブに接続されています。TimeMachineバックアップは1日に数回発生し、ほとんどのドライブはほとんど使用されていません。その日。

急いで会議に行ったり、サーバールームに行ったり、一日の終わりに家に帰ったりするときは、次のようにしたいと思います。

  1. Macbookのカバーをすばやく閉じます。
  2. Macにすべての外付けドライブを可能な限り迅速に、必要に応じて強制的に自動的にアンマウントさせます。すべてのライトがオフになるまで数秒待ちます。

Macのカバーを閉じるとすぐに、コンピューターがすべての外付けドライブを自動的にマウント解除する方法はありますか?

現在、外付けドライブをアンマウントするのを忘れた場合、Macは「ディスクが正しく取り出されませんでした。可能であれば、ディスクを取り外したりオフにしたりする前に、必ずディスクを取り出してください。

ディスクインターフェイスを削除する前に、常にディスクをきれいにアンマウントすることをお勧めしますが、自動化されたソリューションを探しています。次のバックアップの1つが機能し、バックアップから復元する必要がほとんどないため、1つのTime Machineバックアップイメージが中断または破損しているかどうかはあまり気にしていません。ファイルシステムはジャーナリングファイルシステムであるため、ジャーナルは他の多くのファイルシステム破損エラーを透過的に処理します。


アカウントからログアウトするとすべてのドライブがマウント解除されるので、ログアウトするだけの大きな欠点はありますか?また、私はOSがすべてのファイルシステムIO書き込みをフラッシュするので、スリープ中の排出に関する実際の問題の可能性はかなり低いように思えます。
bmike

回答:


8

スリープ時にスクリプトを実行できるアプリは多数あります。

  • SleepWatcher —シンプルでありながら効果的。
  • シナリオ —ウェイク後などの他の時間にスクリプトを実行することもできます。
  • ControlPlane —よりカスタマイズ可能で、さまざまなイベントの後にスクリプトを実行できます。

次のようなbashスクリプトは、指定されたすべてのディスクをアンマウントします。

VOLUMES="/Volumes/drive1 /Volumes/drive2 /Volumes/drive3"
for volume in $VOLUMES ; do [ -d $volume ] && umount -f $volume done

を除くすべてのボリュームをアンマウントするには/

umount -A

よりきれいに…

osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'

6

もう1つのオプションはJettison(App Storeから入手可能)です。これは、私がここ2か月間使用してきたもので、まったく問題はありませんでした。最近、スリープから復帰したときにまだ接続されているディスクを自動的に再マウントするオプションが追加されました。

新しいv1.3.0(直接ダウンロードのみ-App Storeに向かう途中だと思います)のコストは高く、なぜこれがFAQにあるのか説明しています。

それを正しく読んだら、App Storeバージョンを2ドルで購入して、直接ダウンロードバージョンに無料でアップグレードできますが、これを確認したり試したりしていません。

どちらの価格でも高額ではありませんが、SleepWatcherオプションのように無料ではないようです。


4

@grgarsideの回答について詳しく説明します。

SleepWatcherを使用しています

  1. ポートからインストール:

    sudo port install sleepwatcher
    
  2. /opt/local/share/doc/sleepwatcher/ReadMe.rtfとを介してマニュアルを読んでくださいman sleepwatcher。Macworldのこの古いMachint:SleepWatcherシステムで不眠症のMacを治してください。Machintによると、単純に~/.sleepand ~/.wakeup、またはグローバルファイル/etc/rc.sleep&にコードを追加できます/etc/rc.wakeup

  3. 次のコードをに配置します~/.sleep

    osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
    
  4. sleepwatcherをアクティブにします。に変更<key>Disabled</key><true/><key>Disabled</key><false/>ます。

    sudo vim /Library/LaunchDaemons/org.macports.sleepwatcher.plist
    sudo launchctl load /Library/LaunchDaemons/org.macports.sleepwatcher.plist
    sudo launchctl list | grep sleepwatcher
    
  5. 確認:

    ps aux |grep [s]leepwatcher
    root              421   0.0  0.0  2459568   1012   ??  Ss    2:45PM   0:00.00 /opt/local/bin/daemondo --label=sleepwatcher --start-cmd /opt/local/sbin/sleepwatcher --verbose --sleep /opt/local/etc/rc.sleep --wakeup /opt/local/etc/rc.wakeup ; --pid=exec
    root              422   0.0  0.0  2460656   1888   ??  S     2:45PM   0:00.17 /opt/local/sbin/sleepwatcher --verbose --sleep /opt/local/etc/rc.sleep --wakeup /opt/local/etc/rc.wakeup
    
  6. できた!


この回答のレビューを使用して、.plist正しくアクティベートしていることを確認できます。
Stefan Lasiewski、2013

段階的にそれに従いましたが、私にはうまくいきません。睡眠後、外付けハードドライブを取り外し、MacBook5,3が起動し、ふたを開くと、ディスクが正しく排出されないというエラーが発生します。
SaaruLindestøkke2013

これは私にとってはうまくいきますが、時々のみです。なぜだかわかりません。
Stefan Lasiewski、2013

1
私はまだMLを使用しているので、Mavericks固有ではなく、マシンがアクティブなときにエラーが発生しません。スリープするときに十分な時間が得られないかのように、.sleepスクリプトがウェイク時に実行される場合があることに気付きました。
SaaruLindestøkke2013

1
ここにも良いガイド:damacy.net/post/9377132648/...
ダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.