Come espellere l'unità di backup di Time Machine automaticamente dopo ogni backup?

19

Come faccio a impostare Time Machine per espellere automaticamente l'unità di backup Time Machine esterna dopo ogni backup?

    
posta Adam A 28.08.2010 - 18:53
fonte

3 risposte

16

~ / 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"

~ / 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>

Rendi eseguibile lo script, scarica il plist predefinito e carica quello nuovo:

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

Ogni volta che vuoi apportare modifiche al file Plist, devi scaricarlo e caricarlo:

launchctl unload ~/Library/LaunchAgents/timemachine_eject.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist
    
risposta data 31.07.2012 - 11:29
fonte
6

Potrebbe esserci un modo migliore, ma una soluzione potrebbe essere quella di Applescript. Non ho ancora trovato alcun modo per eseguire un applescript dopo un backup, ma potresti:

  1. Disattiva backup TM automatico
  2. Configura un applecript per eseguire TM
    • Alcuni googling hanno aperto questa riga per forzare una build TM immediata: do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. Aggiungi una linea per espellere il disco in seguito.
    • eject disk somedrivename

Se vuoi che questo accada regolarmente, puoi allegarlo a un cron job.

    
risposta data 28.08.2010 - 19:08
fonte
6

Non l'ho provato, ma sembra che funzioni:

Jettison (link Mac App Store)

Espelle le unità esterne quando va a dormire e le rimonta nuovamente svegliandole dal sonno.

    
risposta data 13.09.2012 - 03:07
fonte

Leggi altre domande sui tag