Назад | Перейти на главную страницу

Bacula simple exclusion не работает

Попытка сделать то, что мне кажется очень простым исключением из набора файлов.

В основном я хочу включить / root и / home и исключить все каталоги с именем .cache и Downloads.

FileSet {
  Name = Exclusion_example
  Include {
    Options {
      Signature = SHA1
    }
    File = /root
    File = /home
  }
  Exclude {
    File = Downloads
    File = .cache
  }
}

Я пробовал переместить их в раздел «Параметры» и использовать Exclude = yes. Я пробовал использовать WildDir / WildFile, но это не кажется правильным, когда я использую команду «оценка»: эти файлы все еще перечислены.

Может кто-нибудь указать здесь точный синтаксис? Я просмотрел документы BareOS и Bacula, и ни один из них, похоже, не объясняет мне, что я делаю неправильно.

После долгой игры я получил работу со следующим:

FileSet {
  Name = "MyFileSet"
  Include {
    Options {
      signature = MD5
      Exclude = yes
      WildDir = "*/\.cache"
      WildDir = "*/Downloads"
    }
    File = /root
    File = /home
  }
}

Раздел Include добавляет файлы / root и / home, а раздел Options исключает те, которые вам не нужны. Раздел параметров позволяет использовать WildFile и WildDir, а раздел Include и Exclude - нет. Необходимо избежать точки. Обратите внимание, что использование «Загрузки» вместо «* / Загрузки» не даст желаемого результата.

Вы можете добавить больше разделов Include, но логика, в которой они применяются вместе с разделами Exclude, не совсем прозрачна.

Всегда используйте команду «оценка», чтобы увидеть, для каких файлов будет создана резервная копия, и проверьте, работает ли исключение так, как вы ожидаете.

Я предлагаю полностью прочитать эти 2 раздела из документации (они дадут вам лучшее представление о механизме):

https://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION001870000000000000000 https://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION001880000000000000000

Надеюсь, это поможет кому-то другому.