Sauvegarde

De wikilivois
Aller à : navigation, rechercher


tar

utilisation courante

-zcvf compresse(z), créé (c) l'archive du nom qui suit (f) en listant les fichiers (v)

-zxvf idem mais extraction (x)

options usuelles

-z	compression gzip
-j	compression bz2
-t 	liste les fichiers d'une archive
-p 	préserve les permissions (pour extraction)
-M 	espace multi volume (plusieurs disquettes)
-u	ajoute seulement les fichiers plus récents que l'archive (update)
--newer Date pour les sauvegardes incrémentales
--exclude FILE 	exclut le fichier FILE du traitement
--remove-files	efface les fichiers après les avoir ajouté à l'archive
-C DIR		aller dans le répertoire DIR (cf exemples)

exemples

http://www.faqs.org/docs/securing/chap29sec306.html

tar zcvfM /dev/fd0 /home

La commande find permet de localiser les fichiers modifiés au cours d'une certaine période afin qu'ils soient inclus dans une sauvagarde incrémentielle.

If you do not need to restore all files contained in the archive, you can specify one or more files that you wish to restore, as in the following example:

tar -zxvpf /archive/full-backup-09-October-1999.tar.gz \
              etc/profile usr/local/bin/tolower

ATTENTION: Restaure les fichiers avec l'arborescence

The above command restores the ``etc/profile and ``usr/local/bin/tolower files from the example archive.

tar -jcv -f test.tgz --exclude=test var/log/* 

La sauvegarde concerne tous les fichiers du répertoire var/log sauf le fichier test

tar -f test -c -C var/log/ iptables.log 

La récupération de l'archive "test" enverra le fichier iptables.log au lieu de var/log/iptables.log

cpio

+ efficace ? + securisé (blocs deffectueux)

-o 	crée une archive sur la sortie standard
-i	extrait les fichiers à partir de l'entrée standard
-t 	crée une table des matières pour les entrées
-v 	mode verbeux
-u	remplace tous les fichiers sans poser de questions
-A 	ajoute à une archive existante
-F	suivi du nom de fichier qui remplace stdin/stdout
-L	copie les contenus des liens
-I	nom de l'archive au liu de stdin
-O	nom de l'archive au lieu de stdout

ex :

ls /home | cpio -o > /dev/fd0
cpio -it < /dev/fd0 > bkup.indx
find /home -mheure 1 -type f -print | cpio -o > /dev/fd0

7z (windows)

d:
del sauvegarde.7z
7z a -t7z sauvegarde.7z -r @sauvegarde.liste
copy /Y sauvegarde.7z N:

Le fichier sauvegarde.liste a la forme suivante: documents\christophe documents\astrid

mysql

mysqlhotcopy "bloque" la base pdt la copie --allowold permet de sauvegarder même si une base existe au même endroit $mysql_base doit correspondre à une liste de base.

for base in $mysql_base;do
  mysqlhotcopy $base -p MotDePasse /home/backup/mysql --allowold
done
 

rsync

http://troy.jdmz.net/rsync/index.html

rsync permet de synchroniser un répertoire distant (de sauvegarde par exemple)

on peut écrire dans crontab, pour synchroniser quotidiennement le répertoire de sauvegarde

  /etc/crontab
0 5 * * * root  rsync -ru -e 'ssh' backup@[serveur]:/home/backup/*  /home/backup/serveur/

  • -r synchronise les répertoires récursivement
  • -u ne synchronise que les fichiers mis à jours récemments

Il est commode d'utiliser ssh via le système de clé privé/ clé publique

  • sur le poste qui va récupérer les données
#ssh-keygen -t dsa
  • Il faut ensuite copier la clé /root/.ssh/id_dsa.pub dans le fichier .ssh/authorized_keys de l'utilisateur backup du serveur.

Copyright

© 2009 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.