Wie werfe ich das Time Machine-Sicherungslaufwerk nach jeder Sicherung automatisch aus?

Wie stelle ich Time Machine so ein, dass mein externes Time Machine-Sicherungslaufwerk nach jeder Sicherung automatisch ausgeworfen wird?

Eine interessante Beobachtung: Wenn Sie eine TimeMachine-Sicherung auf ein Netzlaufwerk durchführen, wird TimeMachine automatisch die Remote-TimeMachine-Freigabe auf dem Netzlaufwerk einhängen, sichern und dann aushängen. Ich frage mich, ob Sie das ausnutzen könnten, um das zu erreichen, was Sie wollen?

Antworten (4)

~/bin/Zeitmaschine:

#!/bin/bash

d="Time Machine"  # (change this to match the name of your backup drive)
diskutil mount "$d" && tmutil startbackup -b && diskutil eject "$d"

~/Library/LaunchAgents/timemachine_eject.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>timemachine_eject</string>
    <key>Program</key>
    <string>/Users/username/bin/timemachine</string> <!-- Replace "username" with your username. "~/bin/timemachine" doesn't work -->
    <key>StartInterval</key>
    <integer>120</integer> <!-- run every two minutes for testing. -->
        <!-- Change this to a higher number like 43200 (run every 12 hours) once you've confirmed it works. -->
</dict>
</plist>

Machen Sie das Skript ausführbar, entladen Sie die Standard-Plist und laden Sie die neue:

chmod +x ~/bin/timemachine
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.backupd-auto.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist

Jedes Mal, wenn Sie Änderungen an der Plist-Datei vornehmen möchten, müssen Sie sie entladen und laden:

launchctl unload ~/Library/LaunchAgents/timemachine_eject.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist
Ich liebe diese Lösung, ich habe diesen Prozess weiter automatisiert, um Arbeit zu mounten und zu unmounten, wenn ich mein Laufwerk und nach einem Zeitplan anschließe. Besuchen Sie meinen Beitrag hier: somethinginteractive.com/blog/2013/07/24/…
Auf Maveriks hat dies bei mir nicht funktioniert, seltsamerweise hat das Skript eine Schleife durchlaufen und die Sicherung wurde kontinuierlich durchgeführt. Die folgende Änderung funktioniert jedoch: <key>ProgramArguments</key> <array> <string>/Users/martin/bin/timemachine</string> </array>
somethinginteractive.com ist ausgefallen, archivierte Version: web.archive.org/web/20160409130936/http://…
Können Sie erklären, warum das funktioniert?

Es könnte einen besseren Weg geben, aber eine Lösung könnte darin bestehen, Applescript zu verwenden. Ich habe noch keine Möglichkeit gefunden, ein Applescript nach einer Sicherung auszuführen, aber Sie könnten:

  1. Deaktivieren Sie die automatische TM-Sicherung
  2. Richten Sie ein Applescript ein, um TM auszuführen
    • Beim Googeln wurde diese Zeile gefunden, um einen sofortigen TM-Build zu erzwingen:do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. Fügen Sie eine Zeile hinzu, um die Festplatte anschließend auszuwerfen.
    • eject disk somedrivename

Wenn Sie möchten, dass dies regelmäßig geschieht, können Sie es an einen Cron-Job anhängen.

Sieht vielversprechend aus, aber es muss eine Möglichkeit geben, #3 erst zu starten, nachdem #2 endet.
Wenn ich mich erinnere, werde ich versuchen, das zu manipulieren und es zu testen, wenn ich heute Abend nach Hause komme (und versuchen, das Warten auf das Ende des Backups zu erzwingen, bevor es ausgeworfen wird).
Hier ist eine ähnliche Idee bei Mac OS X Hints , die ein Python-Skript verwendet.

Habe es noch nicht ausprobiert, aber es sieht so aus, als ob es funktionieren könnte:

Jettison (Link zum Mac App Store)

Wirft externe Laufwerke aus, wenn Sie in den Ruhezustand wechseln, und stellt sie beim Aufwachen aus dem Ruhezustand wieder bereit.

Nicht mehr im App Store verfügbar, stattdessen hier verfügbar: https://www.stclairsoft.com/Jettison/ oder über brew cask install jettison. Es lohnt sich die $5 nach Ablauf der Testversion.