Apple Fan Boy

miércoles, 17 de agosto de 2011

Mac OS X 10.7 Lion: Controlar las copias de seguridad de Time Machine


Mac OS X 10.7 Lion añade soporte para, por fin, poder controlar de forma específica la forma y el lugar donde se realizan las copias de seguridad, permitiendo, por ejemplo, poder alternar copias de seguridad en diferentes discos usando simples líneas de comando.

Mas de un usuario, especialmente en entornos profesionales, se va a llevar una alegría: Mac OS X 10.7 Lion permite vía shell la posibilidad de parametrizar las copias de seguridad, incluyendo el encendido, el apagado o la ubicación de las mismas (incluso en discos de red), realizar exclusiones de carpetas ... las posibilidades son amplias para usar tmutilcon Applescript, Automator o incluso creando scripts ejecutables una vez dados los permisos adecuados. Veamos que posibilidades nos ofrece tmutil y como nos podemos aprovechar de ellas.


Encendiendo y apagando

Esta es la mas fácil, pero también el punto de inicio (o el final) de un script y es activar o desactivar Time Machine usando los comandos:
tmutil enable para activar.
tmutil disable para desactivar.
Esto equivale a mover el interruptor en el Panel de Control de Preferencias de Time Machine.
Para iniciar una copia de seguridad, es decir, dar la orden de que se empiece a realizar esa copia, el comando es:
tmutil startbackup para iniciar la copia
tmutil stopbackup para parar la copia de seguridad en el caso de que fuera necesario.

Complicando (un poco) la cosa

En Time machine, un snapshot es una actualización (o en el caso de que no haya ninguna copia previa) una copia de seguridad inicial. Estas copias de seguridad están almacenadas en el disco al que apunta Time Machine, pero es posible forzar la creación de esos snapshots usando el comando:
tmutil snapshot

Activando las copias locales

No es muy inteligente hacer copia de seguridad contra el mismo disco con el que estmos trabajando, pero en algún caso en concreto podremos necesitar hacer, por ejemplo, un snapshot de los cambios realizados en el sistema o carpetas con vistas a hacer modificaciones. Para ello, podemos activar las copias de seguridad "dentro" del mismo disco duro de arranque usando el comando:
tmutil enablelocal

Eligiendo ubicación

Elegir la ubicación de las copias de seguridad es relativamente sencillo usando el comando:
tmutil setdestination /Volumes/mi_disco_duro
Especificar un destino para las copias de seguridad específico también escribe una serie de datos en un clave llamada DestinationVolumeUUIDs key en /Librería/Preferences/com.apple.TimeMachine.plist. El contenido de esta clave equivale al UUID del Volumen (disco) que ofrece diskutil lo que implica que es factible intercambiar UUID usando un script para poder alternar de forma automatizada las copias de seguridad entre diferentes discos, una situación (y una solicitud) hecha frecuentemente por los usuarios que desean multiplicar sus copias de seguridad fuera de un único disco.

Discos de red

En el caso de tener que almacenar las copias de seguridad en un disco externo conectado a la red, es factible poder seguir usando el comando setdestination pero definiendo en el mismo la dirección en forma de URL específicamente formada para que Time Machine recuerde la ubicación (y los datos de identificación, si fueran necesarios). El comando sería, para Apple FIle Protocol:
tmutil setdestination afp://login:password@dominio.local/volumen
Si no quieres incluir la contraseña por motivos de seguridad en el comando, puedes usar la opción -p:
tmutil setdestination -p afp://login@dominio.local/volumen

Configurando la copia de seguridad

En Time machine, las copias e seguridad son absolutas y solo hay un pequeño interfaz para gestionar las exclusiones, es decir, esos archivos que no queremos o no deseamos copia de seguridad. para añadir exclusiones, simplemente definiremos esas ubicaciones como una serie de argumentos en un comando separados por espacios:
tmutil addexclusion /Sistema /Librería
Con este comando hemos añadido las exclusiones de SIstema y Librería a la copia de seguridad. Si por ejemplo, quisieramos solo copia de la carpeta de usuarios, el comando sería:
tmutil addexclusion /System /Library /Applications /var /etc /Developer /Groups /Incompatible\ Software /Volumes /bin /cores /usr /tmp /temp /opt /net /home /Shared\ Items /Network /Groups
Para eliminar una exclusión, el comando, que funciona de forma similar (una lista de argumentos separada por espacios para varias ubicaciones) es:
tmutil removeexclusion /Sistema /Librería
Tanto para addexclusion como para removeexclusion hay una opción -p: si añades una exclusión a un elemento del disco en Time machine, no importa donde lo muevas porque esa exclusión lo acompañará. Al añadirme el parámetro -p convertimos la ruta en estática y la copia de seguridad dependiente de la ruta.
En Mac OS X, Time Machine realiza una serie de exclusiones por defecto almacenadas en .exclusions.plist (un archivo invisible) y en el archivo de preferencias de TIme machine en /Librería/Preferences/com.apple.TimeMachine.plist. Esos archivos excluidos por defecto no se muestran en el interfaz de Time Machine, pero hay que revisar las correspondientes rutas para excluirlos por defecto (cachés, archivos temporales, etc ...)
Mañana veremos como gestionar las copias de seguridad con el Terminal y otros detalles que nos permitirán mejorar la gestión de las copias de seguridad.

No hay comentarios: