HOWTO Sauvegardes
Un article de Gentoo Linux Wiki.
| Méthodes d'installation • CD Live • Noyau et matériel • Portables et Notebooks • Portage • Système • Réseaux et Services • Serveur X • Logiciels fréquemment utilisés • Autres |
Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.
Sommaire |
[modifier] Sauvegarder la totalité d'une partition sur une machine distante
Pour effectuer de façon simple mais efficace vos sauvegardes distantes, vous pouvez utiliser les commandes dd et netcat.
Netcat est disponible en deux parfums ;-) :
emerge gnu-netcat
ou
emerge netcat
Pour une image de la totalité de votre partition hda1, démarrez netcat
en mode passif (listening mode) sur la machine distante :
netcat -l -p 10000 > image.gz
Sur votre machine, exécutez dd pour lire la partition, gzip pour la compresser et netcat pour transférer l'image sur l'autre machine :
dd if=/dev/hda1 | gzip | netcat -w 5 remote_ip 10000
Reportez vous à How to clone a Linux box using netcat (en anglais) pour plus d'informations.
[modifier] Sauvegarder un repértoire spécifique avec flexbackup
Flexbackup est un utilitaire en perl très flexible pour sauvergarder le contenu d'un répertoire.
# emerge flexbackup
Voici les parties importante du fichier /etc/flexbackup.conf :
$set{'research'} = "/home/david/research /var/cvsroot/python /var/cvsroot/latex";
$set{'mail'} = "/home/david/.thunderbird";
$set{'etc'} = "/etc /home/david /var/www/davidgrant.ca/htdocs";
$prune{'/home/david'} = ".jpi_cache konserve-backup .cxoffice .wine .mozilla .kde3.1 .thunderbird";
$prune{'/home/david/.thunderbird'} = "Junk News";
$compress = 'gzip'; # one of false/gzip/bzip2/lzop/zip/compress/hardware $compr_level = '6';
$device = '/mnt/sata/backup';
Les noms "research", "mail", et "etc" sont simplement pour simplifier le nommage des répertoire à sauvergarder lors de l'utilisation de flexbackup en ligne de commande. Tous les répertoires dans "research" seont sauvergarder dans leur propre archive, tel que "home-david-research.0.tar.gz", "var-cvsroot-python.0.tar.gz", et "var-cvsroot-latex.0.tar.gz".
$prune$ permet de masqué certains répertoire que l'on ne veut pas sauvergarder.
$compress est ici réglé à 'gzip' mais on peut utiliser bzip2 pour des archives plus petites. $compr_level=6 permet de régler le level de compression.
On peut utiliser le crontab suivant pour les backups :
0 3 1-7 * * flexbackup -set all -full -w 7 0 3 * * 6 flexbackup -set all -differential 0 3 * * 1-5 flexbackup -set all -incremental
Ceci va permettre de faire une sauvergarde compléte le premier dimanche de chaque mois, une sauvegarde différentielle tous les samedis et une sauvegarde incrémentale tous les jours. Les sauvegardes sont faites à 3h.
[modifier] Sauvergarde Incrementale en utilisant Rsync
[modifier] Scripts et programmes
Il y a des scripts et programmes permettant de faciliter l'utilisation de cette solution :
[modifier] Un exemple manuel
- Vous voulez copier votre disque/sauvergarder une partition.
- On suppose que vous avez créé une partition sur un autre disque et que vous l'avez monté (dans cet exemple /mnt/usbharddrivemain) :
Dupliquer une partition :
# rsync --progress --stats -avxzl --exclude "/mnt/usbharddrivemain/" --exclude "/mnt/usbharddriveboot/" --exclude "/usr/portage/" --exclude "/proc/" --exclude "/root/.ccache/" --exclude "/var/log/" --exclude "/sys" --exclude "/dev" --exclude "tmp/" /* /mnt/usbharddrivemain
Dupliquer une partition et supprimer les fichiers non d'actualité (qui ont été supprimé de la partition source) :
# rsync --progress --stats --delete -avxzl --exclude "/mnt/usbharddrivemain/" --exclude "/mnt/usbharddriveboot/" --exclude "/usr/portage/" --exclude "/proc/" --exclude "/root/.ccache/" --exclude "/var/log/" --exclude "/sys" --exclude "/dev" --exclude "tmp/" /* /mnt/usbharddrivemain
Pour sauvegarder /boot (une autre partition) :
# rsync --progress --stats -avxzl /boot /mnt/usbharddriveboot # rsync --progress ---avxzl --stats --delete /boot /mnt/usbharddriveboot
Pour restaurer, vous pouvez démarrer sur le second disque dur ou utilisez un Live CD. Répétez les commandes précédentes en changeant la source et destination exemple: /mnt/usbharddrivemain /mnt/driveToRestoreTo.
[modifier] Backup distant incrémentaux avec rdiff-backup
rdiff-backup est un utilitaire simple est efficace. Il peut être utiliser pour faire une sauvegarde distante par ssh d'un répertoire. Les différences sont ensuite sauvegardés dans des archives.rdiff-backup Main page
Pour l'installer :
emerge rdiff-backup
Pour faire une sauvegarde sur un ordinateur distant, rdiff-backup doit être installé sur les 2 machines.
Par exemple si la machine distance est appelée remotehost.remotedomain, pour faire une sauvergarde il suffit de faire :
rdiff-backup ~/mydir remoteuser@remotehost.remotedomain::mydir-backup
Ainsi, un nouveau répertoire nommé mydir-backup est créé dans le répertoire HOME de l'utilisateur remoteuser sur
remotehost.remotedomain. Si le répertoire existe déjà, il est mis à jour suivant le contenu de mydir, les différences sont également stockés.
Pour des exemples plus complets : Exemples sur le site de rdiff-backup.
Pour que l'identification soit automatique, il est recommandé d'utiliser l'authentification par clef avec ssh.
[modifier] Liens
- (en) Site de Flexbackup