web-dev-qa-db-ja.com

rsyncの代わりに/のバックアップにrdiff-backupを使用するように切り替えますか?

私は通常、次のようなコマンドで、rsyncを使用してバックアップを行います。

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

Rysncで使用する引数をrdiff-backupに変換するにはどうすればよいですか?

更新:
OK、私は自分自身を「買い物リスト」にしました。

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がすでにこれを行っているかどうかはわかりません。これはバックアップであるため、sureである必要があります。 thinkすべてが処理されます。

私はそれを数回試しましたが、まだ式につまずいていません:私は使用しました

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_/"

復元します。その後、復元時に/ etc/fstabを新しいUUIDで変更し、grubを(新しいUUIDで)更新しようとしましたが、/ dev、/ sys、および/ procが存在しないというエラーが発生しました。 rdiff-backupを使用して、バックアップを復元し、/ etc/fstabを変更するだけで(復元時)、grubを更新/インストールできますか?

6
Azendale

私はあなたがこのバグに噛まれていると思います:

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

ターゲットディスクが/mnt/fooにマウントされていると仮定すると、おそらく必要なことはおそらく

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

http://thread.gmane.org/gmane.comp.sysutils.backup.rdiff-backup.general/6452 にもこのバグのパッチがありますが、リモートファイルシステムをリストしようとします。

1
dpb

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}

権限、所有権、グループ、変更時刻などを維持するには、rdiff-backupをルートとして実行する必要があります。rdiff-backupがすべての要件を確実に処理できるようにします。

Ubuntu 8.04.4-> 10.04.4-> 12.04(dev)からのアップグレードに失敗した後、今日使用してルートパーティションを復元します。

2
spacemonkey