在慢速连接/大数据上初始 rdiff 备份(之前执行 rsync 有帮助吗?)

在慢速连接/大数据上初始 rdiff 备份(之前执行 rsync 有帮助吗?)

我想设置标准 rdiff-backup 到远程服务器。但是数据量对于互联网连接的容量来说太大了。因此我需要某种方式来在没有 rdiff-backup 的情况下进行数据的初始复制(因为没有办法恢复经过数小时的传输后失败的初始传输)。

我的想法是先将物理介质上的数据传输到远程服务器。传输后,我通过 rync 同步数据以确保它们相同。现在我想进行初始 rdiff-backup。当我运行 rdiff-backup 时,有很多行

Getting delta (with hash) of XY

好像目录不相同。这些行到底是什么意思?它们是否意味着远程 rdiff-backup 认为文件不相同,因此传输了增量差异?

有没有其他方法可以进行大量数据的初始传输,并且在发生故障时可以恢复(而不是从头重新启动)?

答案1

我使用 duplicity 而不是rdiff-backup但据我了解,您的问题是在这里:

我的想法是先将物理介质上的数据传输到远程服务器。传输后,我通过 rync 同步数据以确保它们相同。现在我想进行初始 rdiff 备份。

有效的解决方案

最简单的解决方案是rdiff-backup将备份文件复制到备份源的物理介质上,而不是复制和 rsync 数据。然后通过物理介质将备份传输到远程服务器,并将其用作远程备份的备份目录。因为复制和 rsync 时仍然没有初始备份,程序需要交叉检查所有文件并保存元数据。因此Getting delta...。这可能不是传输整个文件,只是大量的校验和。

无效的解决方案

可能值得尝试rdiff-backup将物理媒体复制到目录中,然后rdiff-backup从远程服务器远程复制到该目录中。尽管它rdiff-backup也使用了一些本地元数据(duplicity 确实如此),但您(或它)必须将其传输回去或重新创建。

根据 OP 的工作内容进行编辑。

答案2

您是否真的受 rdiff-backup 的约束,或者您可以使用普通的 rsync 进行增量备份?

这是一个保存 4 个增量备份的小脚本。您可以轻松将其更改为保存 9 个或 99 个增量备份或任何其他数字。

它使用--link-destrsync 的选项,如果文件未改变则创建硬链接。

FROM=$HOME
TO=/var/backups
LINKTO=--link-dest=$TO/`/usr/bin/basename $FROM`.1
OPTS="-a --delete -delete-excluded"
NUMBER_OF_BACKUPS=4


/usr/bin/find $TO -maxdepth 1 -type d
  -name "`/usr/bin/basename $FROM`.[0-9]"|\
  /usr/bin/sort -rn| while read dir
do
    this=`/usr/bin/expr match "$dir" '.*\([0-9]\)'`; 
    let next=($this+1)%$NUMBER_OF_BACKUPS;
    basedirname=${dir%.[0-9]}
    if [ $next -eq 0 ] ; then
             /bin/rm -rf $dir
    else
             /bin/mv $dir $basedirname.$next
    fi
done
/usr/bin/rsync $OPTS $LINKTO $FROM/ $TO/`/usr/bin/basename $FROM.0`

使用该脚本,您可以首先手动 rsync 您的数据,他们将脚本配置为定期启动。

相关内容