Was ist der beste Ansatz zum Auswerfen der Festplatte im Schlafmodus, geplant?

Ich habe also eine externe Festplatte, die für Time Machine verwendet wird.

Wenn ich nach Hause komme, schließe ich mein MacBook normalerweise über Hub an eine Festplatte an und versetze es in den Ruhemodus. Da ich manchmal spät in der Nacht nach Hause komme, kann die Time Machine-Sicherung um Mitternacht erfolgen. Morgens muss ich jedoch meinen Mac aufwecken, nur um die Festplatte sicher auszuwerfen und das MacBook wieder in den Ruhemodus zu versetzen, um mein MacBook herauszuholen.

Also habe ich gesucht, um einen geplanten Job zum Auswerfen der Festplatte zu erstellen, der im Ruhezustand ausgeführt werden kann. crondIch habe nach Lösungen wie , gesucht launchd, kann aber launchdnicht einmal ein Skript im Ruhemodus ausführen, wenn ich die Dokumentation richtig verstanden habe - selbst wenn ich damit einen Job einrichte, StartCalendarIntervalwird er nicht aufgerufen, bis das MacBook aufgeweckt wird.

Gibt es eine kommerzielle App oder andere Ansätze, die für meine Situation verwendet werden können?

Mein OSX ist die neueste Version von Mojave.

Antworten (2)

Ich denke, der Energy Saver-Vorschlag ist ein guter Anfang:

 » Systemeinstellungen » Energie sparen » Planen und stellen Sie es beispielsweise auf 30 Minuten ein, bevor Sie zur Arbeit gehen möchten.

Ich würde es jedoch nicht so planen, dass es wieder in den Ruhezustand wechselt, es sei denn, Sie wissen, dass es tatsächlich gelungen ist, die Festplatte auszuwerfen. Andernfalls wird die Festplatte möglicherweise aus irgendeinem Grund nicht ausgeworfen, und wenn Sie dann das Laufwerk entfernen, erhalten Sie diese schreckliche Meldung, dass ein Laufwerk nicht ordnungsgemäß ausgeworfen wurde.

Angenommen, Sie möchten um 8:00 Uhr zur Arbeit gehen

Stellen Sie den Energiesparmodus so ein, dass der Computer um 7:30 Uhr aktiviert wird

Dann würde ich Keyboard Maestro verwenden, um um 7:35 Uhr ein Skript auszuführen, um das Laufwerk zu unmounten. (Sie können bestimmte Zeiten für Makros in Keyboard Maestro planen.)

Der erste Schritt des Makros wäre ein Shell-Skript zum Unmounten des Laufwerks.

Ich habe bereits ein Shell-Skript, um dies zu tun, also teile ich es hier. Sie können ein Shell-Skript als Schritt eines Keyboard Maestro-Makros hinzufügen.

Alles, was Sie tun müssen, ist, die DRIVE="/Volumes/Time Machine"Zeile so zu ändern, dass sie widerspiegelt, wo Ihr Time Machine-Laufwerk montiert ist.

#!/bin/zsh -f

    ## Change this to wherever your Time Machine drive mounts
DRIVE="/Volumes/Time Machine"

    ## Change this to however many times you want to try before
    ## the script considers itself to have failed.
MAX_ATTEMPTS="100"

    ## Only change this if you know you need to
PATH=/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin

    ## initialize the counter. Don't change this :-)
COUNT=0

    ## This `while` loop will keep going until the drive no longer appears at the mount
    ## point, or we exceed the number of attempts we defined above.
while [[ -d "$DRIVE" ]]
do
        # increment counter
    ((COUNT++))

        # check to see if we have exceeded maximum attempts
    if [ "$COUNT" -gt "$MAX_ATTEMPTS" ]
    then

        echo "Exceeded '$MAX_ATTEMPTS' trying to eject '$DRIVE'."

            ## This will cause the script to fail
            ## which should cause the Keyboard Maestro macro to fail
            ## so it won't go to sleep, so you'll know that you
            ## have to manually eject the drive
        exit 1
    fi

        # don't sleep the first time through the loop
    [[ "$COUNT" != "1" ]] && sleep 10

        # This is where we try to eject the drive
    diskutil eject "$DRIVE"

done

exit 0

Der zweite Schritt des Makros ist eine integrierte Funktion in Keyboard Maestro, um den Computer in den Ruhezustand zu versetzen.

Wenn jedoch der erste Schritt des Makros fehlschlägt (dh wenn das Laufwerk NICHT ausgeworfen wird), wechselt der Computer nicht wieder in den Ruhezustand.

Sie können Ihr MacBook so planen, dass es vor Ihrem geplanten Festplattenauswurfjob aufwacht und danach wieder in den Ruhezustand wechselt (so etwas wie um 5:00 Uhr aufwachen, um 5:05 Uhr schlafen und Ihr Auswurfjob in der Mitte).

vom Apple-Support :

  1. Wählen Sie im Apple-Menü Systemeinstellungen und klicken Sie dann auf Energie sparen.

  2. Klicken Sie auf die Schaltfläche „Zeitplan“ und verwenden Sie dann die Kontrollkästchen und Einblendmenüs, um auszuwählen, wann gestartet, aktiviert, in den Ruhemodus versetzt, neu gestartet oder heruntergefahren werden soll.

Danke. Ich wusste tatsächlich, dass es einen Terminauftrag gab, konnte ihn aber nicht mit meinem Fall in Verbindung bringen. Ich werde es versuchen, aber es könnte Probleme mit meinem geschlossenen Mackbook geben, aber es wäre eine andere Frage, also habe ich diese Antwort akzeptiert.
Ja, wenn der Computerdeckel geschlossen ist, bin ich mir ziemlich sicher, dass er nicht rechtzeitig aufwacht.
In der Tat wird es nicht, aber ich habe diese Frage vor ein paar Tagen gestellt und es gibt eine Möglichkeit, den Ruhezustand mit der Befehlszeile „sudo pmset -a disablesleep 1“ vollständig zu stoppen apple.stackexchange.com/questions/361384/…