只能为任何作业指定一种类型(备份,还原等)。如果要在一个或多个客户端上备份多个文件集,则必须为每个客户端定义一个作业。
我猜答案是“否”。 FML
我创建了一些如下所示的Bacula FileSet,以包含在Bacula Job中。我需要在六个不同的主机(客户端)上运行相同的作业,但是我不知道如何执行该作业。
因此,我设置了一些文件集,如下所示:
# Wildfly FileSet
FileSet {
Name = "Wildfly"
Include {
Options {
signature = MD5
compression = GZIP
}
File = /opt/wildfly/
}
}
# Scripts, Crontabs and Configuration files FileSet
FileSet {
Name = "Scripts Crontabs e Conf"
Include {
Options {
signature = MD5
compression = GZIP
}
File = /usr/local/scripts/
File = /var/spool/cron/crontabs/
File = /etc
}
Exclude {
File = /etc/ssl/
File = /etc/ldap/
}
}
然后我创建了一个工作:
Job {
Name = "BackupMyHostName"
JobDefs = "DefaultJob"
Client = MyHostName-fd
Pool = MyBackupPolicy
FileSet="Wildfly"
}
如果我必须为每个不同的文件集复制并粘贴相同的代码六次,那就太复杂了。我前面还有40台(四十台)服务器。
我是Bacula的新手,但是已经有一个星期了,直到现在我才能够掌握该系统的一些定义。
我需要在正确的方向上推动这项工作。
答案 0 :(得分:1)
您猜到了,Bacula在单个Job中支持单个FileSet和单个Client。您的不同作业可以共享相同的单个FileSet,Pool或Schedule配置,从而简化了配置。另外,您可以设置作业模板:JobDefs,可用于简化多个复制粘贴作业配置。 因此,假设您有一个要在多个客户端的多个作业中使用的单个FileSet。首先是一些示例配置:
文件集:
# Scripts, Crontabs and Configuration files FileSet
FileSet {
Name = "Scripts Crontabs e Conf"
Include {
Options {
signature = MD5
compression = GZIP
}
File = /usr/local/scripts/
File = /var/spool/cron/crontabs/
File = /etc
}
Exclude {
File = /etc/ssl/
File = /etc/ldap/
}
}
客户:
Client {
Name = client1
Address = client1.example.com
}
Client {
Name = client2
Address = client2.example.com
}
然后创建一个模板JobDefs:
JobDefs {
Name = JD
Type = Backup
Priority = 10
Messages = "Standard"
WriteBootstrap = "/opt/bacula/bsr/%c-%n.bsr"
Storage = bacula-sd
FileSet = "Scripts Crontabs e Conf"
}
因此,在这种情况下,您可以创建简单的作业:
Job {
Name = job1
JobDefs = JD
Client = client1
}
Job {
Name = job2
JobDefs = JD
Client = client2
}
仅此而已。希望对您有所帮助。