Bacula 简单排除不起作用

Bacula 简单排除不起作用

尝试执行在我看来在文件集中非常简单的排除操作。

基本上,我想包含 /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,但当我使用“estimate”命令时似乎不正确:这些文件仍然列出。

有人能在这里给出确切的语法吗?我查看了 BareOS 和 Bacula 文档,但它们似乎都没有向我解释我做错了什么。

答案1

经过大量的摆弄后,我得到了下面的结果:

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

Include 部分添加 /root 和 /home 文件,而 Options 部分排除您不想要的文件。options 部分允许 WildFile 和 WildDir,Include 和 Exclude 部分不允许。必须对点进行转义。请注意,使用“Downloads”而不是“*/Downloads”不会给您带来所需的结果。

您可以添加更多“包含”部分,但这些部分与“排除”部分一起应用的逻辑并不真正透明。

始终使用“估计”命令查看哪些文件将被备份,并查看排除是否按预期工作。

我建议完整阅读文档中的这两个部分(它们将使您更好地了解该机制):

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

希望这对其他人有帮助。

相关内容