Ceci est le cache Google de http://fr.gentoo-wiki.com/HOWTO_Sauvegardes. Il s'agit d'un instantané de la page telle qu'elle était affichée le 3 oct 2008 22:46:49 GMT. La page actuelle peut avoir changé depuis cette date. En savoir plus

Version en texte seul
Les termes de recherche suivants sont mis en surbrillance : backup  

HOWTO Sauvegardes

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
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
En cours de traduction de la page anglaise

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