¿Cómo puedo eliminar manualmente las copias de seguridad antiguas para liberar espacio para Time Machine?

Utilizo una Time Capsule para realizar copias de seguridad y ahora quiero que la unidad realice copias de seguridad de los datos de una Mac adicional. Pero la unidad está llena de copias de seguridad antiguas de Mac 1. Simplemente no hay suficiente espacio disponible para la copia de seguridad de Mac 2.

Recibo este mensaje de error cuando ejecuto la copia de seguridad de Time Machine:

Time Machine no pudo completar la copia de seguridad. Esta copia de seguridad es demasiado grande para el disco de copia de seguridad. La copia de seguridad requiere 28,68 GB, pero solo están disponibles 626,2 MB.

Time Machine necesita espacio de trabajo en el disco de copia de seguridad, además del espacio necesario para almacenar copias de seguridad. Abra las preferencias de Time Machine para seleccionar un disco de copia de seguridad más grande o hacer la copia de seguridad más pequeña excluyendo archivos.

Sé que Time Machine puede eliminar las copias de seguridad antiguas cuando necesita más espacio. Pero en este caso no elimina ninguna copia de seguridad de Mac 1 para hacer espacio para Mac 2.

La pregunta es, ¿cómo lo hago manualmente?

Teniendo en cuenta lo baratas que son las unidades externas, estaría tentado de comprar una y usarla para su máquina adicional. Prefiero los Elementos: amazon.com/Western-Digital-Elements-External-WDBAAU0010HBK-NESN/…
@james.garriss buen punto :) Sin embargo, todavía tengo que intercambiar unidades en mi cápsula del tiempo :)
¿Alguien sabe si hay una manera (sin escribir un script) de pedirle a TM que solo mantenga 1 copia de seguridad al mes para copias de seguridad mayores de 1 año?
¿No puedes hacer 2 particiones diferentes en tu disco TM y elegir una partición diferente para cada mac?

Respuestas (8)

Tenga cuidado con sudo y asegúrese de elegir los archivos de Mac correctos, ya que no se puede deshacer ni confirmar el siguiente comando:

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/old_mac_name

El comando sudo necesita su contraseña (y no se repetirá en la pantalla, así que simplemente escríbalo y haga una pausa para asegurarse de que está fechando los archivos correctos antes de presionar Intro). Si quiere estar más seguro, puede elegir una instantánea para eliminar primero para asegurarse de que el comando funcione según lo previsto. Esto es bueno, ya que podría llevar horas limpiar algunos conjuntos de copias de seguridad más grandes y desea dejar la Mac segura de que está eliminando el almacén de información correcto.

Puede usar la tmutilherramienta para eliminar las copias de seguridad una por una.

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss

Dado que tmutilse introdujo con Lion, esto no funcionará en versiones anteriores del sistema operativo.

Si desea obtener el directorio actual de copias de seguridad (puede haber múltiples destinos definidos y solo uno será "actual")

sudo tmutil machinedirectory

Si realiza una copia de seguridad en un recurso compartido de red, es posible que tenga un almacenamiento de paquete escaso y, de ser así, también debe compactarse .

sudo hdiutil compact /Volumes/drive_name/Backups.backupdb/mac_name.sparsebundle
Trabajado como un encanto. Tenía copias de seguridad antiguas que eran enormes y estaban desconectadas del conjunto original de la máquina del tiempo debido a cambios en el disco duro. No pude eliminarlos con sudo rm (que es una locura), pero esto funcionó. ¡Gracias!
Tengo un problema en el que el nombre de mi Mac es el mismo, pero cuando tengo un disco duro nuevo, tiene un nombre nuevo, por lo que tengo dos directorios diferentes en cada carpeta con marca de tiempo, y me gustaría eliminar solo las copias de seguridad de mi antiguo disco duro, y no el nuevo. es posible? Intenté usar la ruta de `/Volumes/volume_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss/old_volume_name' con tmutil delete pero un error de "Destino de eliminación no válido. (Error 64)" ¿Alguna idea sobre cómo eliminar esas copias de seguridad?
# man tmutil No hay entrada manual para tmutil # tmutil -bash: tmutil: comando no encontrado Entonces, ¿dónde está este comando tmutil? ¿Necesito algo más nuevo que Snow Leopard para obtenerlo?
Si bien esto le permite eliminar la copia de seguridad de la Mac n. ° 1 de la Mac n. ° 2, parece que sería más seguro hacerlo a través de la interfaz de Time Machine en la Mac n. ° 1 (si tiene acceso). Además, creo que eliminar copias de seguridad completas a través de la interfaz TM funciona desde la introducción de TM.
@drfrogsplat sí, pero cuando se trabaja con copias de seguridad antiguas, es común que la Mac original esté muerta. En mi caso, estoy tratando de liberar espacio en mi disco de respaldo para poder usarlo para respaldar una nueva Mac.
Creo que este comando es el camino a seguir. Incluso admite comodines que son útiles para eliminar una serie de copias de seguridad, por ejemplo, todas las copias de seguridad de un año determinado: sudo tmutil delete /Volumes/BackupName/Backups.backupdb/MacName/2013-*
Una pregunta rápida. ¿TM no pone enlaces duros a archivos sin cambios en nuevas copias de seguridad? ¿Significa esto que si tiene un archivo de video que no ha cambiado desde su primera copia de seguridad y elimina esa copia de seguridad, desaparecerá de todas las copias de seguridad posteriores?
@square_eyes No es así como funciona la eliminación de archivos vinculados. Digamos que hay 100 intervalos con el mismo archivo. El archivo existe en el disco una vez, pero el recuento de enlaces es 100. Cuando elimina uno, esa entrada de directorio desaparece donde lo eliminó y el recuento de enlaces ahora es 99. Solo cuando el recuento de enlaces llega a 0, el archivo en sí se elimina. Todas las demás eliminaciones simplemente eliminan una entrada de directorio.
No es necesario eliminar las copias de seguridad una por una. Puede escribir sudo tmutil delete y luego arrastrar todas las copias de seguridad que desea eliminar a la ventana de Terminal. @drfrogsplat la página de manual menciona que este comando puede eliminar las copias de seguridad creadas por una máquina diferente.
@pointum es correcto. Además, si desea permanecer en la terminal, puede usar comodines como: 'sudo tmutil delete 2015-*' Puede ser un proceso lento, especialmente con discos giratorios, por lo que eliminar varios archivos es fundamental para la cordura y la eficiencia.
Para encontrar la ubicación de sus copias de seguridad, puede ejecutar sudo tmutil listbackups. Abra esa carpeta en Finder y puede seleccionar las copias de seguridad que desea eliminar, luego arrástrelas y suéltelas en la ventana de Terminal después de escribir sudo tmutil delete . Los borrará uno por uno. Me parece súper ingenioso.
A partir de macOS 10.14.5, la aplicación de terminal (p. ej., iTerm2) que ejecuta estos comandos tmutil requiere el privilegio Acceso total al disco. Abra Preferencias del sistema > Seguridad y privacidad > Privacidad > Acceso total al disco y conceda el privilegio registrando la aplicación. (Quitar el privilegio de la aplicación después de la tarea podría ser bueno para la seguridad).
Para macOS 11.5.1, se requiere una nueva opción -p, como sudo tmutil delete -p /path /to/the/directory.

La forma más fácil es:

  1. Ingrese time machine (en la Mac cuya copia de seguridad desea eliminar)
  2. Vaya al punto en el tiempo que desea eliminar
  3. Seleccione el icono que parece una rueda dentada en el buscador y elija 'Eliminar copia de seguridad' (en Mavericks: haga clic con el botón derecho en la ventana del buscador y elija 'Eliminar copia de seguridad')

Esto garantiza que el catálogo de copias de seguridad siga siendo preciso y que la integridad de sus datos permanezca intacta.

@drfrogsplat tiene mucha razón en que usar la GUI que proporciona Apple es la mejor manera (funciona en todas las versiones) de eliminar una copia de seguridad y es menos propenso a errores, ya que hay múltiples comentarios visuales (si mira con atención) y una verificación antes de ingresar su contraseña para asegurarse de que sabe que la eliminación es permanente.
No veo un elemento de eliminación de copia de seguridad en mavericks en el menú de engranajes
@brainray publiqué una respuesta para inconformistas
Excepto cuando realiza una eliminación parcial (por cualquier motivo), olvida que la copia de seguridad parcial está allí, por lo que no puede eliminarla solo contmutil delete
Esto no funciona si tiene el problema "Esperando...". apple.stackexchange.com/questions/207787/… Esperar no siempre funciona.

Para Mavericks/Yosemite

  1. Entra en la máquina del tiempo
  2. Seleccione la copia de seguridad
  3. Haga clic derecho en la copia de seguridad (en la ventana del buscador)
  4. Seleccione 'Eliminar copia de seguridad'

Te pedirá la contraseña y listo.

ingrese la descripción de la imagen aquí

Haga clic derecho en la copia de seguridad: ¿dónde?
Se le mostrará una ventana de búsqueda, haga clic derecho en el medio de la ventana y se le mostrará una lista de opciones
Vale la pena señalar que Time Machine no realizará las eliminaciones y no le pedirá su contraseña hasta que salga de Time Machine. Y el procedimiento para salir de Time Machine después de seleccionar archivos y carpetas para eliminar tampoco es obvio: debe hacer clic cancelen la esquina inferior izquierda. (Aparentemente, lo que está "cancelando" es la restauración de archivos; aparentemente, las eliminaciones no se consideran canceladas cuando hace esto).
Esto también funcionó para mí desde otra máquina. Mi antiguo MBP se frió, el nuevo tiene diferentes nombres de disco duro y particiones, etc. Finalmente llenó mi disco TM y no quiero eliminar todas las copias de seguridad de mi máquina anterior. Por lo tanto, mantenga presionada la opción, haga clic en la máquina del tiempo en la barra de menú y "Examinar otros discos de respaldo". Pude acceder a la primera copia de seguridad antigua conectando una unidad con el mismo nombre. A partir de ahí, podría pasar a la estructura de la unidad anterior y usar este consejo para eliminar algunas copias de seguridad realmente antiguas.
O simplemente haga clic en la carpeta del dispositivo raíz en la barra lateral (para que aparezca la partición anterior y la estructura de la unidad). En mi caso "Dispositivos -> Macbook Pro"
En caso de que a los lectores de esta pregunta les resulte útil, en Mac OS High Sierra (2018), el proceso puede ser aún más quisquilloso de lo que se describe aquí. El proceso para eliminar copias de seguridad en una nueva MacBookPro puede ser extraño y sorprendente: (1) "Ingresar a Time Machine" (2) navegue hasta la copia de seguridad que desea eliminar (3) el menú contextual proporciona "eliminar todas las copias de seguridad antes de... " (4) cuando haga esto, un cuadro emergente puede aparecer oculto por otras ventanas y dar la apariencia de que su pantalla está bloqueada; encuentre su borde, haga clic en él para verlo y luego deberá proporcionar acceso de administrador a Time Machine ...
Una vez que hagas esto, habrá un retraso... Entonces parecerá que no ha pasado nada. Luego presiona el botón de cancelar que se muestra para salir de la interfaz de usuario y ahora habrá una ventana emergente que muestra el estado del esfuerzo para eliminar las copias de seguridad. Esta ventana emergente puede estar oculta detrás de otras ventanas, por lo que si no la busca, puede intentar desconectar su unidad de respaldo mientras aún se está escribiendo. Busque la ventana emergente y asegúrese de que se complete antes de desconectar la unidad utilizada para sus copias de seguridad. Esta experiencia ocurrió al tratar con copias de seguridad completas activadas manualmente y guardadas en HD externo en HFS.
Esto no hizo nada por mí. Seleccioné directorios para eliminar, hice control-clic, eliminé, confirmé, "cancelé" fuera de TM y... nada, simplemente volví a Finder (High Sierra).

Me he estado haciendo esta misma pregunta, y las respuestas aquí ciertamente ayudaron. Sin embargo, falta un aspecto que puede ser un nuevo "detalle" de implementación que no existía cuando se respondió esta pregunta.

tmutil deletede hecho, elimina las copias de seguridad, pero en realidad no recupera el espacio que ocuparon, al menos no de forma garantizada. Pasé aproximadamente 2 días completos eliminando copias de seguridad de hace> 2 años, que según el mensaje final de finalización ascendió a aprox. 400Gb de datos. Vi que la indicación de espacio de copia de seguridad libre aumentó correspondientemente una vez , pero después de la siguiente copia de seguridad volví a bajar a solo un 7% de espacio disponible (858 Gb usados ​​en lugar de alrededor de 450 Gb). Eso realmente me tenía bloqueado.

La respuesta a ese misterio se da aquí: http://blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/ En resumen, debe compactar el paquete disperso que realmente contiene la copia de seguridad si está alojado en un disco en red o en un disco que no está formateado en HFS+. No tengo copias de seguridad de TM que no estén alojadas en un paquete disperso, por lo que no puedo comprobar si el uso tmutil deletese recupera de forma gratuita en ellas. Bien podría funcionar y el hecho de que no lo haga en una Time Capsule puede ser simplemente una peculiaridad del protocolo de paquete disperso. El comando a ejecutar después sudo tmutil deletees sudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundle. En mi caso que informó

Starting to compact…
Reclaiming free space…
...................................................................................................................................
Finishing compaction…
Reclaimed 403.2 GB out of 583.5 GB possible.

La buena noticia es que este comando tomó solo una fracción del tiempo que tomó tmutil, pasó mucho menos tiempo buscando en el disco y usando menos RAM (de hecho, se completó en el tiempo que me tomó escribir esta respuesta).

Estoy eliminando copias de seguridad ahora sin un paquete disperso, y el espacio parece estar liberado sin hacer un paso adicional.

Este script encontrará automáticamente la copia de seguridad de TM más antigua para su computadora, le indicará cuál es la copia de seguridad más antigua y la más nueva y le indicará que elimine la copia de seguridad más antigua. Debe ingresar Ye ingresar su contraseña de administrador para eliminarla.

guion bash:

COMPUTER_NAME=$(scutil --get ComputerName)
NBACKUPS=$(tmutil listbackups | grep "$COMPUTER_NAME" | wc -l)
OLDEST_BACKUP=$(tmutil listbackups | grep "$COMPUTER_NAME" | head -n1)
LATEST_BACKUP=$(tmutil latestbackup)
echo Latest backup: $LATEST_BACKUP

if [[ -n "$LATEST_BACKUP" && "$LATEST_BACKUP" != "$OLDEST_BACKUP" ]]; then
     echo -n "$NBACKUPS backups. Delete oldest: ${OLDEST_BACKUP##*/} [y/N]? "
     read answer
     case $answer in
         y*)
             echo Running: sudo tmutil delete "$OLDEST_BACKUP"
             sudo time tmutil delete "$OLDEST_BACKUP"
             ;;
         *)
             echo No change
             ;;
     esac
 else
     echo "No backup available for deletion"
 fi
En resumen, este script encontrará automáticamente la copia de seguridad de TM más antigua para su computadora, le dirá cuál es la copia de seguridad más antigua y la más nueva y le indicará que elimine la copia de seguridad más antigua. Debe ingresar Ye ingresar su contraseña de administrador para poder eliminarla.
Tenga en cuenta que esto no reducirá automáticamente el tamaño de sus archivos de copia de seguridad de sparsebundle. Tendrás que entrar y corrersudo hdiutil compact /path/to/disk-image

Si Time Machine realmente solo está haciendo una copia de seguridad de las diferencias, eliminar en orden inverso no es lo que desea. Además, dado que cada eliminación puede llevar algún tiempo, sería bueno tener un script que elimine el siguiente cuando se complete el actual.

Siguiendo el script de muestra del usuario 36971 anterior, he escrito uno que eliminará todas las copias de seguridad del especificado y anterior:

#!/bin/bash

if [ -z "$1" ]
then
    echo "must specify backup id: YYYY-MM-DD-HHMMSS"
    exit 1
fi

FOUND_BACKUP=0;
BACKUPS=""
while read line; do
    if [[ "${line}" == *$1* ]]
    then
        FOUND_BACKUP=1;
    fi

    if [ "${FOUND_BACKUP}" == "1" ]
    then
        BACKUPS+="${line}"$'\n'
    fi
done < <(/usr/bin/tmutil listbackups | tail -r)

if [ "${FOUND_BACKUP}" == "0" ]
then
    exit 1
fi

printf '%s' "$BACKUPS"

echo -n "Delete above backups? [y/N]? "
read answer
case $answer in
    y*)
        while read line; do
            if [ -n "${line}" ]
            then
                echo Running: /usr/bin/sudo /usr/bin/tmutil delete "${line}"
                /usr/bin/sudo time /usr/bin/tmutil delete "${line}"
            fi
        done < <(echo "${BACKUPS}")
        ;;
    *)
        echo No change
        ;;
esac

Tenga en cuenta que no incluí la verificación del nombre de la computadora en mi secuencia de comandos, por lo que si está compartiendo una unidad de respaldo con varias computadoras, es posible que deba agregar una verificación adicional.

TM solo realiza una copia de seguridad del delta con cada ejecución, pero mantiene una copia completa por ejecución en el disco de copia de seguridad. Para los archivos que no se modifican entre ejecuciones (esto significa la mayoría de ellos), solo se agrega una nueva entrada de directorio. Esto podría significar que si solo tiene pequeños deltas entre ejecuciones, es posible que deba eliminar muchas copias de seguridad antes de notar un aumento significativo en el espacio libre.
El orden en que elimine las copias de seguridad no hace ninguna diferencia. De hecho, si utiliza un comodín con tmutil deletepara eliminar todas las copias de seguridad de un año determinado, se eliminarán de la más antigua a la más reciente. Y, por cierto, usar un comodín es mucho más fácil que usar un script en la mayoría de los casos :)
Recomendaría agregar printf '%s' "$BACKUPS" antes de la línea de eliminación de copias de seguridad para dar una mejor respuesta
Puedo eliminar varias copias de seguridad sin usar while, como:sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218

simplemente abre una terminal,

#sudo tmutil deshabilitar local

esto debería liberar espacio sin eliminar las copias de seguridad de TM

Esto deshabilitará las instantáneas locales de Time Machine desde una unidad interna, no lo que pregunta el OP.
Sí, esto solo libera espacio en el volumen de arranque de Mac, no en el destino. Útil, pero debe estar en una pregunta diferente en mi opinión.

Aquí está paso a paso lo que hice para eliminar mi copia de seguridad anterior

  1. Disco de máquina del tiempo abierto
  2. Localice y abra la carpeta Backups.backupdb
  3. Vaya a ver por fecha y elija la más antigua en la parte superior
  4. Seleccione la copia de seguridad que desea eliminar
  5. Abra Terminal y escribasudo rm -rvf
  6. Arrastre y suelte las carpetas antiguas que desea eliminar en la ventana de terminal
  7. Ingrese su contraseña de usuario en el indicador

Ve a tomar un café o a ver una película, cuando termine el proceso puede que tengas que repetirlo de nuevo para algunas carpetas que no quieras borrar.

Cuando todas sus carpetas antiguas hayan desaparecido, Time Machine necesita actualizar su base de datos. Aquí hay una forma de forzar a Time Machine a actualizarse.

  1. Ingrese a Time Machine y vaya a la copia de seguridad más antigua que aún se encuentra en la lista
  2. Selecciónelo y haga clic en el engranaje pequeño y luego elija Eliminar copia de seguridad
  3. Introduce tu contraseña y espera unos minutos
  4. Salga de la interfaz de Time Machine y vuelva de nuevo. Ahora debería tener su Time Machine enumerando la copia de seguridad correcta.
No hagas esto. Time Machine utiliza un complejo sistema de vinculación. Puede romper sus copias de seguridad. Ver pondini.org/TM/Home.html
Después de leer http://pondini.org/TM/Works.html , no veo una razón por la que eliminar las copias de seguridad antiguas sudo rm -rvfrompa Time Machine. El rmcomando es la alternativa de línea de comandos a la sugerencia de eliminar del Finder en la parte inferior http://pondini.org/TM/12.html