rdiff-backup 恢复没有子目录的目录

rdiff-backup 恢复没有子目录的目录

有没有办法恢复 rdiff-backup 生成的备份但跳过子目录?假设我已经备份了/dir/dir/subA/dir/subB,我只想恢复/dir/dir/subB,跳过/dir/subA。我试过了,rdiff-backup -r now --exclude /dir/subA /dir server::/dir但 --exclude 似乎被忽略了,尽管它正在被解析。

我为什么要这样做呢?因为,我无法/dir一次性恢复全部内容,因为它太大了,无法在 24 小时内恢复,之后我就会失去拨号连接。反过来也不行,先恢复子目录,然后恢复主目录,因为子目录也会再次被恢复。

答案1

假设您正确指定了路径,那应该不是问题。本地文件夹 /dir 和远程 /dir 实际上是同一路径吗?有时,当您过度混淆示例时,您会丢失有价值的信息。

无论如何,重要的问题是 --exclude 应该覆盖您要恢复到的目的地的完整路径。我将尝试使用一个例子来说明。

$ rdiff-backup server::/original/data/ /local/backup/
$ ls -F /local/backup/
file  rdiff-backup-data/  subA/  subB/
$ rdiff-backup -r now --exclude /restore/point/subA /local/backup/ server::/restore/point/
$ ssh server
$ ls -F /restore/point
file  subB/

当然,还有一种偷懒的方法,简单地执行--exclude'**/subA',假设目录结构下面没有更多的subA。

答案2

我知道,这很无趣,但我必须再次回答我自己的问题:诀窍是使用排除子目录--exclude **var/web1。我仍然不知道为什么这样做有效,但如果我找到答案,我会在这里发布答案。顺便说一句,我从 Rdiff-backup 邮件列表中找到了答案:http://lists.gnu.org/archive/html/rdiff-backup-users/2010-02/msg00017.html

相关内容