Comment éjecter automatiquement le lecteur de sauvegarde Time Machine après chaque sauvegarde?


25

Comment configurer Time Machine pour éjecter automatiquement mon lecteur de sauvegarde externe Time Machine après chaque sauvegarde?


4
Une observation intéressante: lorsque vous effectuez une sauvegarde TimeMachine sur un lecteur réseau, TimeMachine montera, sauvegardera puis démontera automatiquement le partage TimeMachine distant sur le lecteur réseau. Je me demande si vous pourriez exploiter cela pour réaliser ce que vous voulez?
Ian C.

Réponses:


19

~ / bin / timemachine:

#!/bin/bash

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

~ / Bibliothèque / 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>

Rendez le script exécutable, déchargez le plist par défaut et chargez le nouveau:

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

Chaque fois que vous souhaitez apporter des modifications au fichier plist, vous devez le décharger et le charger:

launchctl unload ~/Library/LaunchAgents/timemachine_eject.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist

1
J'adore cette solution, j'ai encore automatisé ce processus pour monter et démonter le travail lorsque je branche mon disque et selon un calendrier. Visitez mon article ici: somethinginteractive.com/blog/2013/07/24/…
Mike Kormendy

Sur Maveriks, cela n'a pas fonctionné pour moi, étrangement le script a bouclé et la sauvegarde a été effectuée en continu. La modification suivante fonctionne cependant: <key> ProgramArguments </key> <array> <string> / Users / martin / bin / timemachine </string> </array>
Martin

quelque chose d'
Pro Backup

6

Il pourrait y avoir une meilleure façon, mais une solution pourrait être de l'appliquer. Je n'ai pas encore trouvé de moyen d'exécuter un script Apple après une sauvegarde, mais vous pouvez:

  1. Désactiver la sauvegarde automatique TM
  2. Configurer un script Apple pour exécuter TM
    • Certains googleurs ont tourné cette ligne pour forcer une construction de MT immédiate: do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. Ajoutez une ligne pour éjecter le disque par la suite.
    • eject disk somedrivename

Si vous souhaitez que cela se produise régulièrement, vous pouvez l'attacher à une tâche cron.


1
Semble prometteur, mais il doit y avoir un moyen de commencer le # 3 seulement après la fin du # 2.
Adam A

Si je me souviens bien, j'essaierai d'arranger cela et de le tester quand je serai chez moi ce soir (et essayer de faire respecter l'attente de la fin de la sauvegarde avant l'éjection).
Fishtoaster


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.