假设已经对位于/mnt/backup on server上的远程存储库进行了备份。
对于非Borg用户,存储库由多个档案组成。每次备份时都会创建一个归档文件。现在,假设我想提取一个特定的存档--为了简单,最近的一个。
我目前这样做的方式是从远程存储库获取一个档案列表,然后将它们的名称存储在一个mailarchives数组中。看上去像是:
mapfile -t mailarchives < <(borg list --short 'faheem@server:/mnt/backup') 然后,我从mailarchive[-1] (最近的归档文件)中提取所有文件,以验证归档文件是否有效,并且可以从中恢复。看上去像是:
borg extract -n 'faheem@server:/mnt/backup'::"${mailarchives[-1]}"然而,这使用了大量的数据在本地复制所有的东西。因此,我的问题是,是否有可能远程完成所有这些工作,并且只通过ssh在本地传输结果(无论成功还是失败)。我认为这应该是可能的,但我不知道具体是怎么做到的。
一个更简单的例子是
borg check faheem@server:/mnt/backup因为某种原因也会消耗大量的数据。
而且,尽管表面上看,这个问题实际上并不是Borgbackup的具体问题。它可以更广泛地表述为:如果我想在远程机器上运行一次检查,但如果我想在本地运行检查,通常需要在本地下载大量数据,那么我能否远程运行此检查,并将成功或失败的结果传递给本地?
最后,Borg的主要/主要开发人员给出了一个说明:
ThomasWaldmann>错误: borg在成功时返回0,在警告时返回1,在错误时返回2。
发布于 2018-11-11 08:22:24
如果borg check是您想要的,那么您不能仅仅在server上运行它来避免巨大的数据传输吗?也许我对你想要达到的目标感到困惑。看起来会是这样的:
ssh faheem@server
screen # so you can resume after disconnect (optional)
borg check /mnt/backup另一方面,如果您想亲自验证这些文件,而不是相信Borg关于这些文件没有问题的断言,您可以:
hashdeep这样的工具来计算每个文件的散列如果我的建议离我很远,也许你可以为我澄清你想做什么。
https://unix.stackexchange.com/questions/444250
复制相似问题