Bacula异地备份

我有两个地点,一个在欧洲,一个在亚洲。 每个位置都有一个全function的Bacula系统来处理本地备份
我想要做的是从一个位置SD复制一些工作到另一个位置SD。 理想情况下,如果我可以在位置A上执行备份,请复制到位置B,然后还原到位置B的服务器。
我明白从7.0.0版本开始,Bacula允许SD到SD的备份。 我认为这是我需要的function(bacula手册)

Bacula版本7.0允许SD到SD传输复制和迁移作业。 这允许通常称为Bacula备份的复制或非现场传送。 如果复制或迁移作业的源SD和目标SD不同,它将自动发生。

问题是我不知道如何设置这样的工作。 我没有find任何教程。
我最初的想法是,我必须使用复印作业,但是从相同的手册:

迁移仅适用于单个存储守护程序。 您不能在一个存储守护进程上读取并在另一个上写入。

这正是我想要做的…
任何想法,我怎么能做到这一点?

我发现(a)解决scheme…
看来关键在这里:

如果复制或迁移作业的源SD和目标SD不同,它将自动发生。

我的目标是将一些备份工作从亚洲复制到欧洲。 为了做到这一点,我在欧洲SD创build了一个设备:

Device { Name = asiaBackup Media Type = File1 Device Type = File Archive Device = /bacula/asia LabelMedia = yes Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 40; Autochanger = no; } 

然后在亚洲总监我创build了一个存储,从欧洲SD指向这个设备。

 Storage { Name = europeStorage Address = myEuropeDomain.com SDPort = 9103 Password = "blaBlaBla...." Device = asiaBackup Media Type = File1 Maximum Concurrent Jobs = 5 Heartbeat Interval = 10 } /* dbPool = the pool where the backup sits locally */ Pool { Name = dbPool Label Format = "dbBackup" Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 365 days Maximum Volume Bytes = 5G Maximum Volumes = 1000 Label Format = "dbVol-" Recycle Oldest Volume = yes Next pool = "europeBackupPool" Storage = dbStorage } /* europeBackupPool = the destination pool of copy job */ Pool { Name = europeBackupPool Label Format = "dbBackup" Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 365 days Maximum Volume Bytes = 5G Maximum Volumes = 1000 Label Format = "euBKVol-" Recycle Oldest Volume = yes Storage = europeStorage } 

和这个复制工作

 Job { Name = backupToEurope Type = Copy Pool = dbPool Selection Type = PoolUncopiedJobs Schedule = "dailyFullSchedule" Client = "none" FileSet = "none" Messages = Standard } 

请注意初始池中的“下一个池”指令,因为它指定作业将被复制到的池。
之后,当我运行备份时,我得到:

  Run Copy job JobName: backupToEurope Bootstrap: *None* Client: none FileSet: none Pool: dbPool (From Job resource) NextPool: europeBackupPool (From Job Pool's NextPool resource) Read Storage: dbStorage (From Pool resource) Write Storage: europeStorage (From Job Pool's NextPool resource) JobId: *None* When: 2015-04-01 18:44:27 Catalog: MyCatalog Priority: 10 

这里的缺点是,如果你想恢复这个备份,你将不得不从亚洲区总监那里做,因为欧洲导演不知道这个工作。

只是添加一件事。 尝试使用bscan ,您可以再次“读取”卷(复制的卷),并将它们导入到其他位置的目录中。 比你还可以在第二个站点恢复它们),从而避免了对第一个导演的依赖,以防出现任何问题。

希望能帮助到你。 干杯Filipe