Respondiendo a la necesidad de mantener mayor cantidad de instancias de backup sin el espacio necesario en disco, nos pusimos a investigar los parámetros de Schedule que el BackupPc ofrece, y por suerte siguen sumando estrellas.

FullPeriod: Cantidad de días entre backups completos. El valor por default es 6.97 que establece el período en una semana.

IncrPeriod: Cantidad de días entre backups incrementales. El valor por default es 0.97 y representa un backup incremental por día.

FullKeepCnt: Cantidad de Backups Completos que se mantienen antes de ser eliminados. Si se le pasa un array de números, BackupPC los interpreta de la siguiente manera (suponiendo que el FullPeriod está seteado en una semana):

– El #1 representa la cantidad de Backups Completos a mantener cada 1 semana.
– El #2 representa la cantidad de Backups Completos a mantener cada 2 semanas.
– El #3 representa la cantidad de Backups Completos a mantener cada 4 semanas.
– El #4 representa la cantidad de Backups Completos a mantener cada 8 semanas.
– El #5 representa la cantidad de Backups Completos a mantener cada 16 semanas.
– y así siempre con intervalos de 2^n * FullPeriod

Entonces, si queremos guardar todos los Backpus completos de los últimos dos meses, un backup completo cada dos semanas por 4 meses mas, y por último un backup completo por mes hasta completar las 48 semanas, se podría definir la variable de la siguiente manera:

FullKeepoCnt = [8, 8, 6];

O sea, guardamos 8 backups semanales, 8 bi-semanales y 6 tetra-semanales (si dichas palabras existen), cubriendo 8 + 16 + 24 = 48 semanas en total

Donde mantendríamos el siguiente esquema de backups:

FullKeepCntMin / FullAgeMax: Define la cantidad mínima de Backups Completos y/o la fecha a partir de la cual se eliminan (en cantidad de días).

IncrPeriod (0.97): Período mínimo de días entre cada uno de los backups incrementales
IncrKeepCnt (6): Cantidad de backups incrementales entre cada uno de los backups completos.
IncrAgeMax (30): Máxima antigüedad, en días, de los backups incrementales almacenados.
IncrLevels (1): Determina como se general los backups incrementales. Por default está seteado en 1 y define que cada backup incremental se genera a partir del backup completo inmediato anterior. Si se define un valor mayor, cada incremental será generado a partir del backup incremental inmediato anterior. Por ejemplo:

IncrLevels = [1,2,3]

Define que despues de cada backup completo, se generará un backup incremental al completo anterior, luego otro incremental al incremental anterior, y luego otro incremental, incremental al anterior. Donde el 3er. backup incremental (generado hoy) necesita al 2do. backup incremental (que se generó ayer), el cual necesita al 1er. backup incremental (realizado hace dos días), el cual necesitará al backup completo (que se generó hace 3 días) para poder recuperar un archivo del día de hoy.
Otro ejemplo sería obtener seis backups incrementales entre cada completo, pero de la siguiente manera:

IncrLevels = [1,2,3,1,2,3]

Donde el 1er. y 4to. Backup Incremental se general a partir del backup completo inmediato anterior. Y de la misma forma que como detallamos recien, el 2do. y 5to. backup se genera a partir de su incremental anterior, y el 3er. y 6to. backup incremental se general a partir de la copia 2 y 5 respectivamente.

Con todo esto tenemos como para planificar varias instancias de backups optimizando el espacio que disponemos.

Suerte!