Попытка сделать то, что мне кажется очень простым исключением из набора файлов.
В основном я хочу включить / 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
Надеюсь, это поможет кому-то другому.