18 votos

Eliminar todas las copias de seguridad de un archivo/carpeta específico con tmutil

Estoy tratando de eliminar todas las copias de seguridad de elementos específicos a través de la línea de comandos. Puedo lograr esto usando la GUI a través de los siguientes pasos:

  1. Entrar en la máquina del tiempo
  2. Navegue hasta el archivo que desea eliminar
  3. Haga clic con el botón derecho (o haga clic en el icono del engranaje en el buscador) y elija "Eliminar todas las copias de seguridad de ..."

¿Cómo puedo replicar esto en la línea de comandos utilizando tmutil ? Especialmente, cuando se usa Backup Loupe para detectar archivos grandes sería más fácil usar la Terminal (ya que no tengo que entrar en TimeMachine cada vez que quiero eliminar un archivo en particular y puedo navegar hasta él usando el Finder, y luego soltarlo en la Terminal para un comando para eliminarlo).

Esperaba poder usar algo como esto:

sudo tmutil delete /path/to/file

sin embargo me da el error:

"Objetivo de borrado no válido (error 22)"`

Esto funciona bien:

sudo tmutil delete /Volume/Backups.backupdb/<machinename>

y esto también:

sudo tmutil delete /Volume/Backups.backupdb/<machinename>/<specificbackup>

Según man tmutil el delete comando debe también poder eliminar elementos específicos. Sin embargo, hasta ahora no he tenido suerte. Si bien hay numerosas respuestas en este sitio (y en otros lugares) para eliminar elementos específicos copias de seguridad con tmutil y para eliminar una copia de seguridad específica artículos a través de la interfaz gráfica de usuario (utilizando el método descrito anteriormente) no pude encontrar ninguna manera de eliminar una copia de seguridad específica que no fuera a través de la interfaz gráfica de usuario. artículos .

1 votos

@stephenwade Veo que has añadido una recompensa a esta pregunta, gracias :) ¿Se supone que ahora debo aceptar una respuesta o se supone que debe dar la recompensa a alguien? No tengo claro cómo funcionan las recompensas por preguntas de otros.

2 votos

Puede aceptar (o no aceptar) la respuesta que desee, sin que ello repercuta en la recompensa.

20voto

slm Puntos 118

He encontrado esta pregunta de SU titulada: ¿Cómo puedo eliminar los archivos de Time Machine utilizando la línea de comandos? que demuestra un método para borrar archivos específicos desde la CLI. Esta respuesta destacó un método que suena como lo que quieres:

Mi disco de respaldo está lleno. Tengo un archivo muy grande (muchos gigabytes) que ha sido respaldado durante meses. Hay una copia física del mismo, pero muchas instantáneas con enlaces duros a esa copia. Para deshacerme de ese archivo, necesito eliminar el enlace duro de cada copia de seguridad.

En esa respuesta se mostraba que se podía utilizar este método para borrar un archivo:

$ cd /Volumes/WD\ 500G\ USB/Backups.backupdb/csm-laptop
$ ls -li */Macintosh\ HD/Users/csm/vm.img
...
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-005636/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-015812/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-030036/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-041307/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 Latest/Macintosh HD/Users/csm/vm.img

El método para eliminar el archivo utiliza una herramienta CLI de ayuda incluida con Time Machine llamada bypass :

$ sudo bypass rm -f */Macintosh\ HD/Users/csm/vm.img

ubicación de la derivación

Desde bypass se considera un script de ayuda para Time Machine, su ubicación no suele estar en su $PATH . Por lo tanto, tendrá que especificar la ruta completa del ejecutable. Además, Apple lo ha reubicado para diferentes versiones de MacOS.

$ sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass \
    rm -rfv /Volumes/[disk]/Backups.backupdb/[path]

En 10.8 Mountain Lion, la derivación se trasladó a los "Ayudantes":

$ /System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass

En 10.10 Yosemite, el bypass se trasladó aquí:

$ /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass

Referencias

0 votos

Efectivamente, esto se parece a lo que buscaba. Para aclarar: Por "eliminar el enlace duro de cada copia de seguridad" te refieres a "de cada instantánea", ¿verdad? Y usando el comodín en el comando sudo bypass rm -f */Macintosh\ HD\Users\csm\vm.img garantiza que todo esto se consiga de una sola vez?

1 votos

@Jan El rm corre después de cd /Volumes/DISK/Backups.backupdb/MACHINE para que el comodín se expanda a todas las carpetas fechadas que contengan la imagen. He arreglado un \\ - / Sin embargo, hay una errata en la respuesta.

2 votos

¡Yaaaaasssss! He estado buscando esto durante años, voy a probar en algunas copias de seguridad menos críticos, ya que estoy más interesado en mantener la integridad del destino de copia de seguridad para copias de seguridad en curso. apple.stackexchange.com/questions/180214/

6voto

Según man tmutil El tmutil delete se puede utilizar para eliminar uno o varios instantáneas , directorios de máquinas o almacenes de respaldo . Los términos se definen al principio de la misma página de manual:

  • instantánea : Un directorio dentro de un directorio de máquinas que representa una única copia de seguridad inicial o incremental de un ordenador (por ejemplo /Volumes/Chronoton/Backups.backupdb/thermopylae/2011-07-03-123456 )
  • directorio de máquinas : Un directorio dentro de un almacén de copias de seguridad que contiene todas las copias de seguridad de un ordenador concreto (por ejemplo /Volumes/Chronoton/Backups.backupdb/thermopylae )
  • almacén de copias de seguridad : El directorio de nivel superior "Backups.backupdb" en root de un disco de copia de seguridad (por ejemplo. /Volumes/Chronoton/Backups.backupdb )

Así que parece que, lamentablemente, no es posible utilizar tmutil para eliminar elementos específicos dentro de una instantánea.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X