Переключиться на использование 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_/"
восстановить. После этого я попытался изменить / etc / fstab для восстановления с новым UUID и обновить grub (с новым UUID), но я получил сообщения об отсутствии / dev, / sys и & /proc. Как я могу использовать rdiff-backup, поэтому мне нужно только восстановить резервную копию, изменить /etc/fstab (на восстановление) и обновить / установить grub?
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, но он попытается перечислить удаленные файловые системы.
Вот хороший пример того, как использовать 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 от имени пользователя root, чтобы оставить разрешения, права собственности, группы, время изменения и т. Д. Я могу гарантировать, что rdiff-backup позаботится обо всех ваших требованиях.
Использовал его сегодня для восстановления корневого раздела после неудачного обновления с Ubuntu 8.04.4 -> 10.04.4 -> 12.04 (dev).