web-dev-qa-db-fra.com

Passer à utiliser rdiff-backup pour les sauvegardes de / au lieu de rsync?

J'utilise habituellement rsync pour faire des sauvegardes, avec une commande comme celle-ci:

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

Comment puis-je convertir les arguments que j'utilise avec rysnc en rdiff-backup?

Mise à jour:
OK, je me suis fait une "liste de courses".

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

Ainsi, il reste à savoir comment préserver les autorisations, la propriété, les groupes, les temps modifiés et être récursif. Je ne sais pas si rdiff-backup le fait déjà, puisqu'il s'agit d'une sauvegarde, je dois être sûr , tout est pris en charge, pas seulement pense tout est pris en charge.

Je l'ai essayé plusieurs fois, mais je n'ai pas encore trébuché sur la formule: j'ai utilisé

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/

pour sauvegarder et

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

restaurer. Après cela, j'ai essayé de modifier/etc/fstab lors de la restauration avec le nouvel UUID et de mettre à jour grub (avec le nouvel UUID), mais des erreurs se sont produites concernant le fait que/dev,/sys et & proc ne s'y trouvent pas. Comment puis-je utiliser rdiff-backup afin que je n'ai qu'à restaurer la sauvegarde, changer le fichier/etc/fstab (sur la restauration) et mettre à jour/installer grub?

6
Azendale

Je pense que vous êtes mordu par ce bug:

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

En supposant que votre disque cible soit monté à /mnt/foo il vous suffit probablement de faire

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

Il existe également un correctif pour ce bogue à l'adresse http://thread.gmane.org/gmane.comp.sysutils.backup.rdiff-backup.general/6452 , mais il essaiera de répertorier les systèmes de fichiers distants.

1
dpb

Voici un bon exemple d'utilisation de rdiff pour sauvegarder la partition racine: http://manual.aptosid.com/en/sys-admin-rdiff-en.htm

Personnellement, j'utilise la syntaxe suivante pour sauvegarder:

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

Et la syntaxe suivante à restaurer: rdiff-backup -r now {backup-dest-dir} {restore-dir}

Vous devez exécuter rdiff-backup en tant que root pour conserver les autorisations, la propriété, les groupes, les temps modifiés, etc. Je peux m'assurer que rdiff-backup prend en charge toutes vos exigences.

Utilisez-le aujourd'hui pour restaurer la partition racine après l'échec d'une mise à niveau d'Ubuntu 8.04.4 -> 10.04.4 -> 12.04 (dev).

2
spacemonkey