LINUX.ORG.RU
ФорумAdmin

Bacula не удалять полный если есть инкременты

 , ,


0

1

Доброго времени суток товарищи!

Хотел спросить, можно-ли настроить бакулу не удалять полные бекапы, если есть слинкованные к нему инкременты/декременты которые еще не истекли?

t+>                 e             n
F I I I I D I I I I D I I I I F I I
t+ = точка отсчёта и направление времени
e = точка истекания бекапа
n = текущщий момент

Вот надо что-б тот F слева от E не был удалён пока есть D или I справа от e

Расписание:

Schedule {
  Name = «WeeklyCycle»
  Run = Full 1st sun at 01:05
  Run = Differential 2nd-5th sun at 01:05
  Run = Incremental mon-sat at 01:05
}

JobDef

JobDefs {
  Name = «DefaultJob»
  Type = Backup
  Level = Incremental
  FileSet = «Full Set»
  Schedule = «WeeklyCycle»
  Storage = PrimaryStorage,SecondaryStorage,TertiaryStorage,QuaternaryStorage
  Messages = Standard
  Pool = Default
  Full Backup Pool = FullPool                # This ties with /etc/bacula/conf.d/schedules.conf
    Incremental Backup Pool = IncPool          # This ties with /etc/bacula/conf.d/schedules.conf
    Differential Backup Pool = DiffPool        # This ties with /etc/bacula/conf.d/schedules.conf
    Prefer Mounted Volumes = no                # Finding an unused drive, otherwise, job started will append to volume.
  Priority = 10
  Maximum Concurrent Jobs = 20
    }

Пулы

Pool {
  Name = Default
    Label Format = «${Pool}-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}-${JobId}»
  Pool Type = Backup
  Recycle = no                              # Don't recycle Volumes but prune all the Jobs on the volume, mark «Purged».
  Action On Purge = Truncate                # Truncate the volume when it is purged.
  AutoPrune = yes                     # Prune expired volumes - Yes (default), applies Volume Retention period when new Volume is needed and no appendable Volumes exist in the Pool.
  Volume Retention = 1 month                # Retention time of records associated with the Volume in the Catalog database.
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
}

Pool {
  Name = FullPool
  Label Format = «${Pool}-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}-${JobId}»
  Pool Type = Backup
  Recycle = no                              # Don't recycle Volumes but prune all the Jobs on the volume, mark «Purged».
  Action On Purge = Truncate                # Truncate the volume when it is purged.
  AutoPrune = yes                     # Prune expired volumes - Yes (default), applies Volume Retention period when new Volume is needed and no appendable Volumes exist in the Pool.
  Volume Retention = 1 month                # Retention time of records associated with the Volume in the Catalog database.
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
}

Pool {
  Name = DiffPool
  Label Format = «${Pool}-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}-${JobId}»
  Pool Type = Backup
  Recycle = no                              # Don't recycle Volumes but prune all the Jobs on the volume, mark «Purged».
  Action On Purge = Truncate                # Truncate the volume when it is purged.
  AutoPrune = yes                     # Prune expired volumes - Yes (default), applies Volume Retention period when new Volume is needed and no appendable Volumes exist in the Pool.
  Volume Retention = 1 month                # Retention time of records associated with the Volume in the Catalog database.
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
}

Pool {
  Name = IncPool
  Label Format = «${Pool}-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}-${JobId}»
  Pool Type = Backup
  Recycle = no                              # Don't recycle Volumes but prune all the Jobs on the volume, mark «Purged».
  Action On Purge = Truncate                # Truncate the volume when it is purged.
  AutoPrune = yes                     # Prune expired volumes - Yes (default), applies Volume Retention period when new Volume is needed and no appendable Volumes exist in the Pool.
  Volume Retention = 1 month                # Retention time of records associated with the Volume in the Catalog database.
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
}

Такую фишку Я видел в акронисе, но там нет серверной части под линукс.


Похоже ты хочешь странного (у тебя уже есть более новый full бэкап) и хочешь зачем-то хранить две полные копии данных. Обычно, когда хочется странного, берут в руки редактор, компилятор и src.

BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK

Ну, вся проблема в том, что бекап полный создался, но бывает период когда удаляется старый полный бекап, а надо вытянуть данные как обычно месячной давности.

В результате бардак: есть инкременты, диффы которые относились к тому самому удаленному бекапу, но их уже не использовать.

Я-же не могу юзать инкременты от старого полного к новому бекапу ^_^

На примере, Июнь:

Полный бекап сделан 01.06, следующий полный сделан 06.07 Согласно «Full Backup Pool = FullPool» полный бекап пойдет в FullPool, а там:

Volume Retention = 1 month

В результате, 01.07 я уже ничего не могу восстановить т.к полный бекап удалён, при этом его D и I остались в каталоге и бесполезны.

Мне нужно что-то типа этого: http://i.imgur.com/i0B3ogw.png (скриншот Acronis Backup & Recovery)

Есть хоть какие-то мысли как это реализовать?

Yuna
() автор топика
Ответ на: комментарий от zgen

Отлично, я думал над этим вариантом. Проблема в том, что это слишком нестабильное решение проблемы - любое изменение времени хранения - и просто 2 месяца уже не правильное значение.

Я вот о чем думаю: выставлять в каталоге заданиям срок хранения равный сроку хранения последнего задания, которое было выполнено до последнего F, но после предыдущего F.

Тогда все задания будут истекать к один момент. Насколько помню, есть-же в базе колонка которая говорит когда истекает задание?

Yuna
() автор топика
Ответ на: комментарий от Yuna

что это слишком нестабильное решение проблемы - любое изменение времени хранения

Абсолютно стабильное. Задумал менять время хранения - меняй и время оборота данных в архиве. 0 проблем.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Попробую это как последний вариант, если ничего не выйдет.

Вообще, моя схема (проставку времени Expire задания вручную, скриптом) - работать будет?

Yuna
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.