2 votos

Desactivar la limpieza automática de Time Machine

Según Apple, Time Machine elimina todas las copias de seguridad de cada mes, todas las copias de seguridad de cada semana del último mes y todas las copias de seguridad de cada día de la última semana.

Tengo mucho espacio en mi NAS (unos 10 TB), y actualmente estoy utilizando alrededor de 1TB de espacio, así que el espacio no es una preocupación.

¿Cómo puedo desactivar esta eliminación automática de las copias de seguridad antiguas? ¿O es imposible para Time Machine y debo usar un programa alternativo como rsync?

0 votos

De acuerdo con esta discusión sobre la Apple: discussions.apple.com/thread/1885075 No hay manera de detener esto.

0 votos

Yo no me metería con TM. Ahí es cuando va mal.

4voto

timeSmith Puntos 36

Time Machine realiza copias de seguridad semanales.

Si desea mantener copias de seguridad más regulares que semanal Pero con menos regularidad que cada hora, probablemente sea mejor utilizar una solución diferente. Time Machine no tiene estos ajustes (aparentemente ni siquiera en los ajustes ocultos).

La máquina del tiempo mantiene semanal copias de seguridad cuando el espacio lo permita. También almacena las copias de seguridad diarias del último mes y las copias de seguridad horarias de las últimas 24 horas.

Pros y contras (ejemplos de casos)

En el caso de que se cree un archivo un día y se borre unos dos días después, pasa más de un mes antes de que se quiera recuperar el archivo, y la copia de seguridad semanal que se guarda para ese periodo de tiempo no está entre el momento en que se creó el archivo y el momento en que se borró, entonces una copia de seguridad diaria conservará el archivo y una copia de seguridad semanal no. Este es el escenario específico en el que será deseable otra solución de copia de seguridad. Sin embargo, si usted crea un archivo una hora, lo borra dos horas más tarde, y ha pasado menos de un día, entonces Time Machine tendría el archivo respaldado, pero una copia de seguridad diaria es poco probable que lo tenga respaldado.

Sospecho que hacer copias de seguridad cada hora con rsync será más intensivo para tu ordenador que las copias de seguridad cada hora de Time Machine.

1 votos

Puede que te parezca que el uso de un sistema de copia de seguridad independiente que respalde archivos cruciales Sólo, dejando a TM para respaldar las cosas que rara vez cambian (aplicaciones, software del sistema, etc.) Mantengo todos mis archivos cruciales respaldados en varios repositorios en la nube también, (Dropbox, GDrive,) por si acaso pierdo mi computadora y la(s) unidad(es) de respaldo de TM por robo, incendio, tornado, terremoto, etc. También hago una copia de seguridad trimestral completa de mi Mac en un disco USB externo y la guardo en el trabajo. Si mis copias de seguridad externas y las de casa se destruyen por la misma catástrofe, tendré más cosas de las que preocuparme. :-)

1voto

Joy Jin Puntos 11

Terminé escribiendo un script que cancela el funcionamiento de Time Machine cuando entra en la fase de "limpieza". El contenido es el siguiente:

#!/usr/local/bin/fish
while test 0=0
if tmutil status | grep -q "BackupPhase = ThinningPostBackup"
          tmutil status
    tmutil stopbackup
else
    sleep 10
end
end

Tenga en cuenta que este script también evitará que Time Machine limpie las copias de seguridad incompletas. Para limpiarlas, ejecute primero fsck_hfs -dfy dos veces, la segunda vez reconstruyendo los árboles b ( -Race ). A continuación, mueva la carpeta <***.inProgress> a la basura utilizando /System/Library/Extensions/TMSafetyNet.kext/Contents/helpers/bypass mv <***.inProgress folder> </volumes/drive name/.Trashes/UID/ . A continuación, vacíe la papelera con el Finder, ya que sólo el Finder puede ocuparse de eliminar los directorios con enlaces duros. (Haz una copia de seguridad de la papelera de tu disco de inicio y de otros discos conectados primero si no quieres borrarlos). A continuación, ejecute fsck_hfs dfy de nuevo, y ya está.

Nota: este procedimiento (principalmente el fsck_hfs ones) sólo se aplica a los sparsebundles de TM en la unidad de red. Los errores de red pueden causar pequeños errores en el sistema de archivos que pueden acumularse eventualmente. Por lo tanto, los fsck es importante para evitar grandes errores en el sistema de archivos, especialmente cuando estás haciendo algo que implica una gran modificación del sistema de archivos (como borrar una tonelada de enlaces duros de directorios aquí).

Como alternativa, también puedes utilizar Carbon Copy Cloner, y si estableces un tiempo largo para las instantáneas APFS de la red de seguridad, se conservará un período largo y más detallado de la historia.

0 votos

Este es un buen truco, pero yo prefiero dejar que Time Machine limpie todo el mantenimiento. Configurar rsync para hacer copias de seguridad a intervalos seleccionados de los datos de copia de seguridad limpiados es mi consejo. Obtén lo mejor de ambos mundos de esta manera. Puedes ajustar con precisión los intervalos que guardas y no obstruyes el proceso de limpieza que Apple ha incorporado a las copias de seguridad finas cada hora y conservas una copia de seguridad coherente que se remonta mucho más atrás con la misma cantidad de espacio que si no se hubiera realizado ninguna limpieza.

0 votos

@bmike No estoy muy familiarizado con rsync y creo que no reconoce/conserva los hard-links de directorios que usa Time Machine. Puede usted explicar más acerca de cómo preservar viejo / limpiado Time Machine utilizando rsync ?

0 votos

@bmike Ahora mismo no uso Time Machine por este problema: apple.stackexchange.com/questions/388494/ . El comportamiento de MacOS con el desmontaje es impredecible en mi sistema. ¿Tienes una experiencia similar? ¿Ha mejorado con las actualizaciones de versiones importantes?

1voto

mosca1337 Puntos 586

Muchas gracias @Joy Jin. He mejorado la solución disminuyendo el intervalo de 10 segundos a 1 segundo para evitar mejor la limpieza de las copias de seguridad:

#!/usr/local/bin/fish
while test 0=0
if tmutil status | grep -q "BackupPhase = ThinningPostBackup"
    tmutil status
    tmutil stopbackup
    echo '!'
    say "Prevented cleaning Time Machine backups"
else
    echo -ne '.'
    sleep 1
end
end

Es importante crear un demonio (por ejemplo, en /System/Library/LaunchDaemons ), que se ejecutará de forma permanente.

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