切换到使用 rdiff-backup 来备份 / 而不是 rsync?

切换到使用 rdiff-backup 来备份 / 而不是 rsync?

我通常使用 rsync 进行备份,命令如下:

rsync -avxz -e "ssh" --exclude ".gvfs" --numeric-ids / /media/Backup/slash/

我如何将 rysnc 使用的参数转换为 rdiff-backup?

更新:
好的,我给自己列了一份“购物清单”。

rsync flags: avxz = rlptgoDvxz
rdiff-backup flags (not complete): --preserve-numerical-ids  --exclude-other-filesystems --include-symbolic-links  --include-special-files


Shopping list:
   rsync flag                  rsync explanation                      rdiff flag?
-----------------------------------------------------------------------------------------------------------------------------
   -r, --recursive             recurse into directories
X  -l, --links                 copy symlinks as symlinks   # done by --include-symbolic-links (I hope)
   -p, --perms                 preserve permissions
   -t, --times                 preserve modification times
   -g, --group                 preserve group
   -o, --owner                 preserve owner (super-user only)
X      --devices               preserve device files (super-user only)   # Hopefully taken care of by --include-special-files
X      --specials              preserve special files   # Hopefully taken care of by --include-special-files
X  -x, --one-file-system       don't cross filesystem boundaries   # Done by --exclude-other-filesystems
X      --numeric-ids           don't map uid/gid values by user/group name   #Done by --preserve-numerical-ids

因此,剩下的就是如何保留权限、所有权、组、修改时间并进行递归。我不确定 rdiff-backup 是否已经这样做了,因为这是一个备份,我需要当然一切都得到了照顾,不仅仅是思考一切都已安排妥当。

我尝试过几次,但还没有找到配方:我用过

rdiff-backup -v5 --preserve-numerical-ids  --include-symbolic-links  --include-special-files --exclude-other-filesystems  "root@2001:470:e89d:9ab6:21b:24ff:fe75:5822::/" /media/Backup/rdiff/bjorn-laptop/one_ext4/

备份和

rdiff-backup -r now -v5 --preserve-numerical-ids --force /media/Backup/rdiff/bjorn-laptop/one_ext4/ "root@2001:470:e89d:9ab6:21b:24ff:fe75:5822::/media/2f52fa73-b3a6-46ef-8e1b-e82d983b0b7f_/"

恢复。之后,我尝试使用新的 UUID 修改恢复中的 /etc/fstab 并更新 grub(使用新的 UUID),但我收到有关 /dev、/sys 和 /proc 不存在的错误。我如何使用 rdiff-backup,以便我只需恢复备份、更改 /etc/fstab(在恢复时)并更新/安装 grub?

答案1

有一个很好的例子说明如何使用 rdiff 备份根分区: http://manual.aptosid.com/en/sys-admin-rdiff-en.htm

我个人使用以下语法来备份:

rdiff-backup --exclude-sockets --exclude '/media/*/*' --exclude '/mnt/*' --exclude '/proc/*' --exclude '/sys/*' --exclude '/tmp/*' / {backup-dest-dir}

使用以下语法进行恢复: rdiff-backup -r now {backup-dest-dir} {restore-dir}

您必须以 root 身份运行 rdiff-backup 才能保留权限、所有权、组、修改时间等。我可以确保 rdiff-backup 满足您的所有要求。

今天在从 Ubuntu 8.04.4 --> 10.04.4 --> 12.04 (dev) 升级失败后使用它来恢复根分区。

答案2

我觉得你被这个错误困扰了:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=397413

假设你的目标磁盘安装在/mnt/foo你可能只需要做

mkdir /mnt/foo/dev /mnt/foo/sys /mnt/foo/proc 

还有一个针对此错误的补丁,网址为http://thread.gmane.org/gmane.comp.sysutils.backup.rdiff-backup.general/6452,但它会尝试列出远程文件系统。

相关内容