Reduzca automáticamente la copia de seguridad existente de Time Machine a un tamaño fijo

Busqué en Google durante horas para encontrar una solución a este problema, pero no pude encontrar una respuesta que se ajustara a mi problema.

Mi configuración:

  • Tengo un iMac con un disco duro de ~1 TB
  • Estoy haciendo una copia de seguridad a través de Time Machine en un Synology NAS DS214+ con ~2,7 TB de espacio

Mi problema:

  • Olvidé establecer un límite de tamaño para el usuario de respaldo. No, mi copia de seguridad de Time Machine utiliza alrededor de 2,3 TB de espacio. Eso no es cool.
  • No puedo establecer una cuota para el usuario de Synology, porque comienza a contar a partir de cero.

Lo que quiero hacer:

  • Si es posible, quiero decirle a mi copia de seguridad de Time Machine que se reduzca automáticamente a un límite de ~ 1,5 TB eliminando las copias de seguridad más antiguas.
  • Entonces quiero que el paquete escaso no se haga más grande.

¿Alguien de ustedes ve una solución? ¿O tengo que eliminar todas mis copias de seguridad antiguas para alcanzar mi objetivo?

Solo para su información: estoy usando OS X Yosemite 10.10.3 y el firmware actual en mi Synology NAS.

Respuestas (5)

Time Machine respetará la determinación del tamaño, pero solo cuando haga el contenedor . Esta funcionalidad es todo lo que Apple proporciona para la copia de seguridad nativa, por lo que necesitaría una configuración personalizada para hacer lo que pide, y no puede limitar las cosas una vez que haya comenzado a realizar la copia de seguridad en un contenedor.

Sin embargo, en el futuro, si desea crear un nuevo contenedor restringido, el concepto no es difícil de trazar.

  • Cree un nuevo contenedor en Synology y asegúrese de aplicar las restricciones de tamaño cuando inicie el proceso.

Server.app lo hace fácilmente: no conozco el código de Synology que realizó ingeniería inversa de esa función, pero me sorprendería si no está en GitHub o si no se publica en algún lugar público.

En ese momento, puede eliminar todas las copias de seguridad de las carpetas de los usuarios que son grandes y luego, bloque por bloque, copiar los datos de la copia de seguridad anterior al nuevo destino y luego heredar la copia de seguridad.

También puede reducir los intervalos de copia de seguridad desde la línea de comandos o crear un script para esta automatización.

Montones, montones de trabajo, pero podría valer la pena como proyecto si alguien está inclinado.

Cuando estoy en su lugar, simplemente copio la copia de seguridad anterior "demasiado grande" en un disco duro fuera de línea, la coloco en un estante y empiezo de nuevo con nuevas copias de seguridad del tamaño que desee. En 6 meses o un año, borre ese disco antiguo a menos que realmente sienta que necesita ese historial anterior.

Exactamente lo que hice: comencé con una nueva copia de seguridad de Time Machine. ¡Gracias por responder!
TimeMachine tiene una configuración para establecer un tamaño máximo para el paquete disperso, pero en mi experiencia esto solo funciona para nuevos paquetes dispersos, no para los existentes. La única solución a su problema es eliminar las copias de seguridad antiguas y mi solución es la mejor manera de hacerlo.
De acuerdo: ¿debería poner en negrita pero solo cuando haces el contenedor o lo cambias para que quede más claro @RobertBarrueco
Descubrí que "Disk Utility" podía cambiar el tamaño del contenedor de Time Machine si tenía espacio libre dentro, lo que a su vez hizo que Time Machine usara el nuevo tamaño de contenedor más pequeño como límite. Esto estaba en mi Time Capsule. Supongo que el contenedor inicial se construye a partir del espacio libre disponible en ese momento.

Esta es la solución más fácil usando OSX Terminal.

Obtenga una lista de todas las copias de seguridad en TimeMachine. Esto también le mostrará la ruta completa del directorio a las copias de seguridad que necesitará en el paso 2...

$ tmutil listbackups

/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-02-213405
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-09-192323
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-19-212659

Elija qué copias de seguridad eliminar en función de su fecha. Tenga en cuenta el uso de un comodín * y el uso del directorio del paso 1. Por ejemplo, para eliminar todas las copias de seguridad de 2018, usaría esto:

$sudo tmutil delete '/Volumes/Time Machine Backups/Backups.backupdb/{tu-macbook}/2018-'*

El paso final es reducir y recuperar espacio del paquete disperso. Busque en su unidad de copia de seguridad el archivo .sparsebundle.

$ sudo hdiutil compact '/Volumes/{tu-mac}.sparsebundle'

¿Cómo reduce esto automáticamente la copia de seguridad a un tamaño específico como lo solicitó el OP?

Reduzca el volumen de la copia de seguridad al tamaño deseado. Time Machine está diseñado para seguir agregando copias de seguridad hasta que el volumen esté lleno y luego eliminar las copias más antiguas. NO está diseñado para compartir espacio de almacenamiento con otras cosas, ni para dejar X gigas libres en el destino.

Bueno, no puedo reducir el volumen, porque ya ocupa más espacio del deseado. Ese es mi problema.
¿Cómo reducirías el volumen?

Estoy de acuerdo con la respuesta dada anteriormente, aunque lo que podría intentar es eliminar manualmente las copias de seguridad de Time Machine (bajo su propio riesgo).

Si monta el volumen, hay una carpeta llamada "Backups.backupdb" (puede tener un aspecto ligeramente diferente en las copias de seguridad remotas). Dentro tendrá el nombre de su computadora y luego las fechas o los volúmenes, o viceversa (lo siento, actualmente estoy lejos de mi propia Mac y no puedo verificar el orden exacto).

Si elimina algunas carpetas de fechas anteriores, liberará algo de espacio para cambiar el tamaño del volumen.

NOTA: Tenga en cuenta que Time Machine es una copia de seguridad incremental que usa enlaces duros para archivos sin cambios. Por lo tanto, es posible que eliminar una carpeta de fecha no elimine la cantidad de espacio que indica que debe dimensionarse.

Este sitio dice que elimine sus copias de seguridad usando sudo tmutil delete.
Time Machine comparte archivos sin cambios por enlace duro. Si elimina una copia de seguridad completa, los archivos que utilizan otras copias de seguridad no se eliminan, solo los enlaces.
momomo.com.apple.timemachine.backups.list() {
        tmutil listbackups
}
momomo.com.apple.timemachine.backups.compact() {
        local leave="${1}";

        if [[ "${leave}" == "" ]]; then leave="5"; fi

        local backups=(
                $(momomo.com.apple.timemachine.backups.list)
        )

        local length="${#backups[@]}"
        local     to="(("${length}"-"${leave}"))"

        local i=0; while [[ "${i}" -lt "${to}"  ]]; do
                local backup="${backups[i]}"

                sudo tmutil delete "${backup}"

                echo -e "\n\n"

                ((++i))
        done   
}

Ejemplo:

# To leave last 10 on disk and remove all previous before
momomo.com.apple.timemachine.backups.compact 10 

Se puede llamar repetidamente.

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Deleted (4.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Total deleted: 4.6G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Deleted (5.1G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Total deleted: 5.1G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Deleted (6.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Total deleted: 6.6G

    Deleting backup: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-11-002303
    ...