Come montare automaticamente sparsebundle per i backup di Time Machine?

3

Ho un'unità disco collegata al mio router che sto utilizzando per i backup TM. Quello che ho fatto è che ho creato un'immagine .sparsebundle usando Utility Disco e poi ho copiato quell'immagine sul mio disco. Quindi, nel Terminale I digita quanto segue:

sudo tmutil setdestination /Volumes/MYCIFSvolume

Tutto funziona OK, ma devo montare manualmente il file .sparsebundle facendo doppio clic su di esso, quindi Time Machine riconosce l'unità e crea dei backup.

C'è un modo in cui TM automatizza questo .sparsebundle quando è programmato un backup?

Sto usando OS X 10.9

Grazie mille,

    
posta Peter 02.11.2013 - 16:26
fonte

3 risposte

6

Queste istruzioni presumono che tu stia utilizzando un file sparsebundle in 10.9 perché utilizzi un'unità crittografata. In caso contrario, modificare di conseguenza.

Per prima cosa, segui le istruzioni nel link sottostante per capire come usare security find-generic-password per estrarre la password dall'unità crittografata dal tuo Portachiavi a livello di codice.

link

Quindi crea un file chiamato mounter nella directory bin locale ~/bin che contiene il seguente codice (sostituisci tutti i percorsi con i tuoi percorsi e in security find-generic-password , usa il nome della chiave in Keychain):

#!/usr/bin/env bash -e

PHYSICAL_DRIVE_PATH="/Volumes/Backup/"
SPARSEBUNDLE_PATH="/Volumes/Backup/TimeMachine.sparsebundle"
SPARSEBUNDLE_MOUNT_PATH="/Volumes/Time Machine/"

# Check existing states
if [ -e "$SPARSEBUNDLE_MOUNT_PATH" ]; then
    echo "Already mounted."
    exit 0    
fi

if [ ! -e "$PHYSICAL_DRIVE_PATH" ]; then
    echo "Physical drive not attached"
    exit 0
fi

if [ ! -e "$SPARSEBUNDLE_PATH" ]; then
    echo "Virtual drive not found on physical drive"
    exit 1
fi

# The mount command uses security find-generic-password
# to get the password from the keychain store
MOUNT_PASSWORD=$(security find-generic-password -w -D "disk image password" -l TimeMachine.sparsebundle)
printf $MOUNT_PASSWORD | hdiutil attach -stdinpass -mountpoint "$SPARSEBUNDLE_MOUNT_PATH" "$SPARSEBUNDLE_PATH"

Questo è un po 'prolisso, ma non significa memorizzare password ovunque ma portachiavi. In ogni caso, ora dobbiamo farlo funzionare. Crea un file in ~/Library/LaunchAgents/ come ~/Library/LaunchAgents/com.martorana.dave.mounter.plist e inserisci il seguente codice, sostituendo, ovviamente, i percorsi con i tuoi percorsi:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.martoranas.dave.mounter</string>
    <key>Program</key>
    <string>/Users/dave/bin/mounter</string>
    <key>RunAtLoad</key>
    <true/>
    <key>StartInterval</key>
    <integer>60</integer>
    <key>StandardOutPath</key>
    <string>/Users/dave/bin/ldout.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/dave/bin/lderr.log</string>
</dict>
</plist>

Stiamo utilizzando launchd anziché cron per una serie di motivi, il più importante dei quali è l'accesso al tuo portachiavi.

Ora carica il tuo demone di avvio:

launchctl load -w ~/Library/LaunchAgents/com.martoranas.dave.mounter.plist

E quello dovrebbe farlo Ora launchd eseguirà lo script della shell ogni 60 secondi e, se non montato e disponibile, verrà montata l'immagine del disco sparsebundle .

Saluti,

Dave

    
risposta data 28.01.2014 - 19:19
fonte
1

Solo una cosa rapida da provare.

L'immagine è denominata machinename.tmp.sparsebundle ? (dove 'machinename' è il nome della tua macchina non il testo)

Altrimenti, prova a chiamarlo così e guarda cosa succede. Questo è il sistema di denominazione utilizzato da Time Machine per le sue immagini.

    
risposta data 18.01.2014 - 13:00
fonte
0

Ho una configurazione simile, ma ho indicato il disco di backup nella GUI di Time Machine. Time Machine ha quindi creato lo Sparsebundle da solo.
Nel mio caso, Time Machine monta automaticamente lo Sparsebundle se il disco di backup è disponibile.
Però non so come ottenere dalla tua situazione attuale.

    
risposta data 02.11.2013 - 19:29
fonte

Leggi altre domande sui tag