Ich habe ein neues 13-Zoll-Macbook Pro, auf dem Mavericks ausgeführt wird. Dieser Computer ist an ein externes USB-Laufwerk angeschlossen, das ich für meine Time Machine-Sicherungen und als externen Speicher verwende. Time Machine-Sicherungen werden einige Male am Tag durchgeführt, und das Laufwerk ist die meiste Zeit weitgehend inaktiv der Tag.
Wenn ich zu einem Meeting, in den Serverraum oder am Ende des Tages nach Hause eile, möchte ich Folgendes tun:
Gibt es eine Möglichkeit, den Computer dazu zu bringen, alle externen Laufwerke automatisch abzumelden, sobald ich den Deckel meines Mac schließe?
Wenn ich derzeit vergesse, die externen Laufwerke auszuhängen, tadelt mich mein Mac später mit dem Fehler „Der Datenträger wurde nicht ordnungsgemäß ausgeworfen. Wenn möglich, werfen Sie einen Datenträger immer aus, bevor Sie ihn entfernen oder ausschalten.“
Ich weiß, dass es am besten ist, eine Festplatte immer sauber zu unmounten, bevor die Festplattenschnittstelle entfernt wird, aber ich suche nach einer automatisierten Lösung. Ich mache mir keine großen Sorgen, wenn ein Time Machine-Backup-Image unterbrochen oder beschädigt wird, da eines der nächsten nachfolgenden Backups funktioniert und ich sehr selten aus dem Backup wiederherstellen muss. Da das Dateisystem ein Journaling-Dateisystem ist, kümmert sich das Journal transparent um viele andere Dateisystembeschädigungsfehler.
Es gibt eine Reihe von Apps, die Skripts im Ruhezustand ausführen können:
Ein Bash-Skript wie das folgende wird alle angegebenen Festplatten unmounten:
VOLUMES="/Volumes/drive1 /Volumes/drive2 /Volumes/drive3"
for volume in $VOLUMES ; do [ -d $volume ] && umount -f $volume done
So unmounten Sie alle Volumes außer /
:
umount -A
oder sauberer…
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
Eine andere Option ist Jettison (erhältlich über den App Store) – das verwende ich jetzt seit ein paar Monaten und hatte überhaupt keine Probleme. Es hat kürzlich die Option erhalten, noch verbundene Festplatten automatisch neu zu mounten, wenn Sie aus dem Ruhezustand aufwachen.
Die neuere v1.3.0 (nur direkter Download - ich nehme an, sie ist auf dem Weg in den App Store) kostet mehr und sie erklären in ihren FAQ, warum das so ist.
Wenn ich das richtig gelesen habe, könnte man die App Store-Version für zwei Dollar kaufen und dann kostenlos auf die Direkt-Download-Version upgraden, aber ich habe dies nicht bestätigt oder ausprobiert.
Nicht gerade teuer zu beiden Preisen, aber nicht kostenlos, wie es die SleepWatcher-Option zu sein scheint.
Ich werde die Antwort von @grgarside näher erläutern.
Ich benutze SleepWatcher
Von Ports installieren:
sudo port install sleepwatcher
Lesen Sie das Handbuch unter /opt/local/share/doc/sleepwatcher/ReadMe.rtf
und über man sleepwatcher
. Lesen Sie diesen alten Machint von Macworld: Cure an insomniac Mac with SleepWatcher System . Je nach Machint kann ich einfach Code zu ~/.sleep
und ~/.wakeup
oder zu den globalen Dateien /etc/rc.sleep
& hinzufügen /etc/rc.wakeup
.
Fügen Sie den folgenden Code ein ~/.sleep
:
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
Sleepwatcher aktivieren. Wechseln Sie <key>Disabled</key><true/>
zu <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
Verifizieren:
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
Getan!
.plist
Ding richtig aktiviere.
Fahrrad