¿Alguna forma de cambiar la ubicación de las copias de seguridad locales de Time Machine (./MobileBackups) en otra unidad?

2

Estoy ejecutando una unidad de arranque SSD y una unidad de disco duro en mi Macbook Pro 5,5 y obviamente no puedo hacer que Time Machine llene mi SSD. Me preguntaba si habría alguna manera en que Time Machine creara copias de seguridad locales de los usuarios en mi SSD, pero las almacenaría en mi HDD y podría usar las características típicas de las copias de seguridad locales de Time Machine, porque de lo contrario no sería necesario. Si se ha hecho esta pregunta, agradecería un enlace, porque busqué y no pude encontrar nada. De lo contrario, muchas gracias por la ayuda que pueda ofrecer.

    
pregunta JeffM 28.01.2013 - 06:45

3 respuestas

4

No pude encontrar ninguna manera de modificar la ruta /.MobileBackups , pero puedes crear una carpeta en tu HDD y luego enlazarla a /.MobileBackups :

  1. Abrir aplicaciones > Utilidades > Terminal.

    Ahora tendrás que escribir varios comandos. Presione return después de cada comando para que se ejecute. Cuando se le solicite, escriba su contraseña.

  2. La carpeta de instantáneas tiene permisos complejos. La forma más sencilla de preservarlos es copiar la carpeta existente en la nueva ubicación en su disco duro:

    sudo rsync -ahvHE /.MobileBackups /Volumes/HDD/

    (reemplace /Volumes/HDD con la ruta a su HDD)

    Las

    rsync opciones son:

    • -a : modo de archivo (recursivo; copie enlaces simbólicos como enlaces simbólicos; conserve los permisos, tiempos, propietario, grupo, archivos de dispositivo, sockets y fifos)
    • -h : resultado de salida en formato legible por humanos
    • -v : verbose, es decir, muestra lo que está haciendo el comando
    • -H : preservar enlaces duros
    • -E : copie los atributos extendidos como las bifurcaciones de recursos y las ACL
  3. Deshabilitar las instantáneas locales (esto eliminará /.MobileBackups y su contenido):

    sudo tmutil disablelocal

  4. Crear enlace simbólico:

    sudo ln -s /Volumes/HDD/.MobileBackups /.MobileBackups

    (reemplace /Volumes/HDD con la ruta a su HDD)

  5. Habilitar instantáneas locales:

    sudo tmutil enablelocal

  6. Crear una instantánea local:

    sudo tmutil snapshot

  7. Si ve una nueva instantánea con fecha "ahora":

    ls -l /Volumes/HDD/.MobileBackups/Computer/
    (...)
    drwxr-xr-x@ 3 root  wheel  102 Jan 28 09:05 2013-01-28-090534
    

    has terminado!

Si algo salió mal o no funciona como se esperaba, vuelva a la configuración original:

  1. Deshabilitar instantáneas locales:

    sudo tmutil disablelocal

    Esto eliminará el enlace simbólico /.MobileBackups . Si ese no fuera el caso, elimínelo con:

    sudo rm /.MobileBackups

  2. Habilitar instantáneas locales:

    sudo tmutil enablelocal

  3. Elimine la carpeta de instantáneas alternativas en su HDD:

    sudo rm -rf /Volumes/HDD/.MobileBackups

    ( rm -rf es un comando peligroso que no solicitará confirmación antes de eliminar la carpeta. ¡Asegúrese de que la ruta sea correcta!)

respondido por el jaume 28.01.2013 - 09:26
1

Sé que esta es una pregunta / respuesta un tanto antigua, pero estoy volviendo a hacer esto ahora mismo en Yosemite y agregué un poco de detalle a esta configuración: ya que estoy en Yosemite me he visto obligado a aplicar La forma de "raíz en lugar de sudo" de Benjamin, actualmente funciona como se esperaba, pero no me gustó tener un icono para el volumen de instantáneas, algo que no debería ver y acceder mientras hago cosas normales como usuario, así que elija ocultar el ícono del volumen de instantáneas utilizando el comando SetFile (que, afaik, se instala a través de xcode)

utilizando las rutas de los ejemplos anteriores, sería:

SetFile -a V /Volumes/HDD/

y pouf, el ícono del volumen desapareció: las instantáneas locales son totalmente invisibles nuevamente, como de costumbre, pero aún están montadas (puede navegar e incluso abrir directorios a través de terminal, como con cualquier otro directorio invisible en su sistema de archivos)

Incluso hice un pequeño shellscript (no probado, porque ya lo hice manualmente, así que PRESTAR ATENCIÓN ANTES DE EJECUTARLO , ya que debe ejecutarse como root como explicó Benjamin en su comentario / respuesta )

Nota final, solo fyi: por lo que puedo ver ahora, el volumen de instantáneas normalmente se puede cifrar

Gracias por su trabajo, aquí está el script de bash, claramente basado en sus respuestas:

#!/bin/sh

# description:
# move /.MobileBackups to a different volume, to avoid wearing your SSD
# this script must me run as root, not via sudo. 
# based on http://apple.stackexchange.com/questions/80183/any-way-to-change-the-location-of-time-machine-local-backups-mobilebackups-t

################################################################################

# safety measure to avoid kids running this script with no clue and blaming me.
# comment it
echo "always check what you run before running it" && exit


# syntax/help
if [ -z "${1}" ] ; then
    echo "\nusage:\t'basename ${0}' /Volumes/SnapshotVolume\n"
    echo "*** Please note that this script MUST be run as root, not via sudo ***"
    echo "*** just run \"sudo su\", insert your password and THEN run this script ***"
    echo
    exit    
fi 

# checks that this script is run being root, not via sudo
homeDir='echo ~'
if [ "${homeDir}" != "/var/root"  ] ; then
    echo
    echo "*** Please note that this script MUST be run as root, not via sudo ***"
    echo "*** just run \"sudo su\", insert your password and THEN run this script ***"
    echo
    exit    
fi 


# get dest volume path
snapVolume="${1}"

# create a "Backups" directory inside the snapshot volume root directory
# please note that this is a safety measure: if the snapshot volume is not
# excluded from time machine backups, you'll find an already existing directory
# at /Volumes/SnapshotVolume/.MobileBackups (each volume has his own directory)
# so, to avoid any mess, I prefer to make a Backups directory and put the actual
# .MobileBackups inside it, at a non volume-root level
mkdir ${snapVolume}/Backups

# duplicate the existing .MobileBackups to the destination path
rsync -ahvHE /.MobileBackups ${snapVolume}/Backups/

# this double command will remove the existing /.MobileBackups directory and,
# if and only if the rm command exits with no errors, symlink the new directory
# cloned in the 2nd hard drive to the main drive /.MobileBackups path
rm -rf /.MobileBackups && ln -s ${snapVolume}/Backups/.MobileBackups /.MobileBackups

# makes the snapshot volume invisible in finder
SetFile -a V ${snapVolume}

# a final test, just because..
tmutil snapshot
    
respondido por el ekl 10.07.2015 - 20:10
1

Si está ejecutando OSX 10.8 o superior, algo sucede cuando deshabilita las instantáneas locales, de modo que las instantáneas existentes ya no son accesibles a través de TM. Para resolver este problema, use sudo -s para iniciar sesión como usuario root y ejecute el siguiente código para modificar el excelente tutorial de Jaume:

cd /
tmutil disablelocal
sleep 300

rm -rf /Volumes/HDD/.MobileBackups/

tmutil enablelocal
sleep 60
tmutil snapshot
tmutil snapshot

rsync -ahvHE /.MobileBackups /Volumes/HDD/
rm -rf .MobileBackups
ln -s /Volumes/HDD/.MobileBackups /.MobileBackups

tmutil snapshot
tmutil snapshot

Eso parece funcionar hasta ahora.

    
respondido por el Benjamin Migliori 20.03.2013 - 18:55

Lea otras preguntas en las etiquetas