¿Cómo montar un sparsebundle para las copias de seguridad de Time Machine?

3

Tengo una unidad de disco conectada a mi enrutador que estoy usando para las copias de seguridad de TM. Lo que hice es crear una imagen .barsebundle usando la Utilidad de Discos y luego copiar esa imagen en mi unidad de disco. Luego, en la Terminal escribí lo siguiente:

sudo tmutil setdestination /Volumes/MYCIFSvolume

Todo funciona bien, pero tengo que montar manualmente el .sparsebundle haciendo doble clic en él y luego Time Machine reconoce la unidad y le hace copias de seguridad.

¿Existe alguna forma de que TM monte automáticamente este .sparsebundle cuando se programa una copia de seguridad?

Estoy usando OS X 10.9

Muchas gracias,

    
pregunta Peter 02.11.2013 - 16:26

3 respuestas

6

Estas instrucciones asumen que estás usando un archivo sparsebundle en 10.9 porque usas una unidad cifrada. Si no, modifíquelo en consecuencia.

Primero, siga las instrucciones en el enlace a continuación para averiguar cómo usar security find-generic-password para obtener la contraseña de su unidad cifrada de su llavero mediante programación.

enlace

Luego cree un archivo llamado mounter en su directorio bin local ~/bin que contenga el siguiente código (reemplace todas las rutas de acceso con sus rutas, y en el security find-generic-password , use el nombre de la clave en Llavero):

#!/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"

Esto es un poco detallado, pero significa que no se almacenan contraseñas en ningún lugar, excepto el llavero. En cualquier caso, ahora hay que hacerlo funcionar. Cree un archivo en ~/Library/LaunchAgents/ como ~/Library/LaunchAgents/com.martorana.dave.mounter.plist y coloque el siguiente código en él, reemplazando, por supuesto, las rutas por sus propias rutas:

<?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>

Estamos usando launchd en lugar de cron por varias razones, la más importante es el acceso a tu llavero.

Ahora carga tu demonio de lanzamiento:

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

Y eso debería hacerlo. Ahora launchd ejecutará su script de shell cada 60 segundos, y si no está montado y disponible, montará su imagen de disco sparsebundle .

Saludos,

Dave

    
respondido por el Dave Martorana 28.01.2014 - 19:19
1

Solo una cosa rápida para probar.

¿La imagen se llama machinename.tmp.sparsebundle ? (donde 'nombre de máquina' es el nombre de su máquina, no el texto)

Si no, intente nombrarlo así y vea qué sucede. Ese es el sistema de nombres que utiliza Time Machine para sus imágenes.

    
respondido por el Tony Williams 18.01.2014 - 13:00
0

Tengo una configuración similar, pero indiqué el disco de respaldo en la GUI de Time Machine. Time Machine luego creó el sparsebundle por su cuenta.
En mi caso, Time Machine monta automáticamente el sparsebundle si el disco de copia de seguridad está disponible.
Aunque no sé cómo pasar de tu situación actual a la mía.

    
respondido por el Hobbes 02.11.2013 - 19:29

Lea otras preguntas en las etiquetas