rsync 대신 /의 백업에 rdiff-backup을 사용하도록 전환 하시겠습니까?


6

보통 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  "[email protected]: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/ "[email protected]: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

I think you are being bit by this bug:

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

Assuming your target disk is mounted at /mnt/foo You probably just need to do

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

There's also a patch for this bug at http://thread.gmane.org/gmane.comp.sysutils.backup.rdiff-backup.general/6452, but it will try to list remote filesystems.


2

There is a good example how to use rdiff to back up the root partition: http://manual.aptosid.com/en/sys-admin-rdiff-en.htm

Personally I use the following syntax to back up:

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

And the following syntax to restore: rdiff-backup -r now {backup-dest-dir} {restore-dir}

You have to run rdiff-backup as root to remain permissions, ownership, groups, modified times, etc. I can ensure rdiff-backup takes care of all your requirements.

Used it today to restore the root partition after a failed upgrade from Ubuntu 8.04.4 --> 10.04.4 --> 12.04 (dev).