Rsync : Différence entre versions

De SME Server Wiki
(Économie ne rime pas avec sécurité)
 
(38 révisions intermédiaires par 7 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
 +
 
== Principe de la sauvegarde Rsync sur disque dur USB ==
 
== Principe de la sauvegarde Rsync sur disque dur USB ==
  
Ligne 5 : Ligne 7 :
 
1- avoir une sauvegarde 1:1 toujours à jours des dossier à sauvegarder
 
1- avoir une sauvegarde 1:1 toujours à jours des dossier à sauvegarder
  
2- avoir des dossiers de sauvegarde  secondaire journaliers contenant chacun les fichiers modifiés ou supprimés lors de la sauvegarde journalière
+
2- avoir des dossiers de sauvegarde  secondaires journaliers contenant chacun les fichiers modifiés ou supprimés lors de la sauvegarde journalière
  
 
== Plaidoyer pour la sauvegarde rsync ==
 
== Plaidoyer pour la sauvegarde rsync ==
Ligne 16 : Ligne 18 :
 
3- rapidité de la sauvegarde
 
3- rapidité de la sauvegarde
  
4- faible trafique en ecriture
+
4- faible trafic en écriture
  
 
Avantages lors de la restauration
 
Avantages lors de la restauration
Ligne 22 : Ligne 24 :
 
1- rapidité pour rechercher un unique fichier en plusieurs versions sur un seul support  
 
1- rapidité pour rechercher un unique fichier en plusieurs versions sur un seul support  
  
2- rapidité pour restaurer l'integralité de la sauvegarde par simple rsync inversé ou cp sans decompression, ni lecture lente de bandes magnétiques
+
2- rapidité pour restaurer l'integralité de la sauvegarde par simple rsync inversé ou cp sans décompression, ni lecture lente de bandes magnétiques
  
== Economie ne rime pas avec securité ==
+
== Économie ne rime pas avec sécurité ==
  
Ce n'est pas parce que l'investissement dans des disques dur USB est moins couteux que dan sdes lecteurs DAT avec des bandes magnétiques qu'il faut economiser sur le nombre de disques pour les sauvegardes.
+
Ce n'est pas parce que l'investissement dans des disques dur USB est moins couteux que dans des lecteurs DAT avec des bandes magnétiques qu'il faut économiser sur le nombre de disques pour les sauvegardes.
 
En effet un disque dur dans un boitier USB peut crasher....
 
En effet un disque dur dans un boitier USB peut crasher....
  
Darrell May, de l'équipe de contribs.org, conseille d'avoi au minimum un jeu de 9 disques durs USB.  
+
Darrell May, de l'équipe de contribs.org, conseille d'avoir au minimum un jeu de 9 disques durs USB.  
  
 
LUNDI
 
LUNDI
Ligne 50 : Ligne 52 :
  
 
Un archive mensuelle peut venir s'ajouter en 10° disque.
 
Un archive mensuelle peut venir s'ajouter en 10° disque.
Les disques devront êtres renouvellés régulièrement et de façon échelonnée, par des disques provenant d'un fabricant et d'un vendeur surs.  
+
Les disques devront êtres renouvelés régulièrement et de façon échelonnée, par des disques provenant d'un fabricant et d'un vendeur sur.  
Ces disques devront donc tourner de façon journalière, et être remis dans un lieu sur à l'abris du vol, du feux, et de tous choc électriques, mécaniques, thermiques et électromagnétiques.
+
Ces disques devront donc tourner de façon journalière, et être remis dans un lieu sur à l'abri du vol, du feu, et de tous chocs électriques, mécaniques, thermiques et électromagnétiques.
 +
 
 +
Dans la pratique, et dans le cadre d'un soho (qui est le cadre idéal pour une SME):  un minimum de 2 disques est indispensable avec le script développé ci dessous et alternés dans leur utilisation.
 +
 
 +
Ma préférence irait même à 3 : un servant de sauvegarde tous les jours, et les deux autres (2 et 3) de sauvegarde du disque 1 un jour sur 2.
 +
 
 +
'''Mais en aucun cas un seul disque de sauvegarde n'est une solution fiable! Imaginez le court circuit au moment ou le disque sauvegarde est branché : le serveur grillé et les sauvegardes aussi !'''
 +
 
 +
'''Attention on peut modifier votre contenu !!'''
  
 
== RSYNC vers un site secondaire via un tunnel SSH2 ==
 
== RSYNC vers un site secondaire via un tunnel SSH2 ==
Ligne 57 : Ligne 67 :
  
 
cette méthode pourra être une sécurité de plus dans la sauvegarde, attention toutefois au vol des données si le site secondaire n'est pas sur.
 
cette méthode pourra être une sécurité de plus dans la sauvegarde, attention toutefois au vol des données si le site secondaire n'est pas sur.
 
 
  
 
____
 
____
Ligne 64 : Ligne 72 :
 
en attendant voici un embryon  
 
en attendant voici un embryon  
  
1- utiliser la methode du site de grand pa pour obtenir une clef privé sur le serveur "serveur rsync SSH"
+
1- utiliser la méthode du site de grand pa pour obtenir une clef privé sur le serveur "serveur rsync SSH"
 
copier la dans le fichier /root/.ssh/identity par exemple sur le serveur "client rsync ssh"
 
copier la dans le fichier /root/.ssh/identity par exemple sur le serveur "client rsync ssh"
  
Ligne 86 : Ligne 94 :
 
Sous SME un disque dur USB est automatiquement monté dans un dossier du type /media/usbdisk1 ... MAis nous n'allons pas utiliser cette fonction.
 
Sous SME un disque dur USB est automatiquement monté dans un dossier du type /media/usbdisk1 ... MAis nous n'allons pas utiliser cette fonction.
  
La première méthode est d'utiliser un script automatique lancé par le cron, et necessitant que le disque soit connecté toute la nuit par exemple afin d'être utilisé pour la sauvegarde, et remplacé dans la journée par le suivnat dans le jeux de disques.
+
La première méthode est d'utiliser un script automatique lancé par le cron, et nécessitant que le disque soit connecté toute la nuit par exemple afin d'être utilisé pour la sauvegarde, et remplacé dans la journée par le suivant dans le jeux de disques.
  
 +
'''Voici comment mettre en place une sauvegarde journalière a 4h du mat:
 +
'''
  
ecrire dans un fichier:
+
Reperez et notez l'UUID de votre disque USB (que vous avez préalablement formaté en EXT3), après l'avoir branché
 +
 +
blkid
 +
Téléchargez le fichier dans le répertoire /etc/cron.daily ce qui executera automatiquement le script chaque nuit
 +
wget -O /etc/cron.daily/RsyncUSB http://smeserver.pialasse.com/fichiers/RsyncUSB
 +
chmod a+x /etc/cron.daily/RsyncUSB
 +
Editez le contenu du fichier pour l'adapter à vos besoins
 +
mcedit /etc/cron.daily/RsyncUSB
 +
# mettez l'UUID de votre disque
 +
# changez l'adresse mail à prévenir si nécessaire
 +
# ajoutez d'éventuels dossiers à exclure de la sauvegarde
  
  vi /etc/cron.daily/rsyncUsbBackup
+
testez la sauvegarde immediatement comme ceci:
 +
  sh /etc/cron.daily/RsyncUSB
  
  
#!/bin/sh
+
Pour facilement gerer les UUID téléchargez ma contrib : [http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs/jppialasse/SME7/usbdisksmanager/]
#
+
 
###################################
+
 
# drive to mount
+
Alternativement vous pouvez telecharger le ficher dans le dossier root et l'appeler à l'aide de /etc/crontab en editant le fichier en question ... ou en utilisant la contrib crontab manager voir le site de Master Sleepy AKA Vanhees. cette methode aura l'avantage de choisir l'heure a laquelle vous désirez réaliser la sauvegarde
###################################
+
 
#
+
== Restauration d'un fichier (ou d'un dossier)==
###################################
+
Votre fichier peut se trouver dans le dossier principal (qui contient la dernière version à jour) ou dans une sauvegarde évènementielle (qui contient une version antérieure modifiée depuis)
# directory where to mount drive
+
 
###################################
+
L'avantage est de permettre à un utilisateur de retrouver une version saine d'un fichier modifié par inadvertance même après plusieurs semaines.
#disque a monter
+
 
disque="/dev/sda1"
+
 
#repertoire de montage
+
'''Remplacez <UUID> par le UUID correspondant à votre disque, vous pouvez l'obtenir en faisant blkid et un copier coller via putty, ou grace a ma contrib usb disk manager.
repertoire="/sauvegarde"
+
 
#
+
Vous pouvez aussi remplacer la ligne :
#script test
+
mount -U <UUID> /sauvegarde
#
+
par :
echo "on monte le disque"
+
mount /dev/sda1 /sauvegarde
  mount -v -t ext3 $disque $repertoire
+
dans le cas ou le disque USB a pour chemin: /dev/sda1
#ext3
+
'''
#echo "on lit le contenu"
+
 
#ls $repertoire
+
  mkdir /sauvegarde
#########################################################
+
  mount -U <UUID> /sauvegarde   # recherche par UUID, plus pertinente si vous avez plusieurs disques
# Script to do incremental rsync backups
+
  cd /sauvegarde/rsync
# Adapted from script found on the rsync.samba.org
+
  mkdir resto
# Brian Hone 3/24/2002
+
  find /sauvegarde/rsync -iname <nomdufichier> |xargs -i -t cp -pfr --parents {} /sauvegarde/rsync/resto
# This script is freely distributed under the GPL
+
 
#########################################################
+
 
#
+
Vous avez plus qu'a naviguer dans le dossier resto voir donner son contenu à l'interessé.
##################################
+
 
# Configure These Options
+
Voici une liste non exhaustive des options que vous pouvez ajouter pour affiner la recherche (man find pour plus):
##################################
+
  -daystart        ''compter le temps a partir de maintenant et pas 24 h en arriere''
#
+
  -atime +1        ''24 dernier accés plus de 24 heures avant le debut du temps de recherche''
###################################
+
  -ctime +1        ''24 dernier changement de status plus de 24 heures avant le debut du temps de recherche''
# mail address for status updates
+
  -group gname
#  - This is used to email you a status report
+
  -user username
###################################
+
  -mtime +1        ''24 derniere modification plus de 24 heures avant le debut du temps de recherche''
MAILADDR="admin@DOMAIN.COM" # <============================ mettre son nom de domaine pour les mails
+
  -size n[cwbkMG]
#
+
-type f          ''f= fichier normal , d= dossier ....''
###################################
+
  -wholename      ''nom incluant le chemin''
# HOSTNAME
+
  -iwholename      ''meme chose mais insensible a la casse (majuscule/minuscule)''
#  - This is also used for reporting
+
 
###################################
+
apres:
HOSTNAME="DOMAIN.COM" # <============================ mettre son nom de domaine
+
  cd ~
#
+
  umount /sauvegarde
###################################
+
 
  # directory to backup
+
== Restauration de la sauvegarde entière ==
# - This is the path to the directory you want to archive
+
 
###################################
+
Voici comment en theorie restaurer facilement votre sme intégralement (enfin ce que vous en avez sauvegardé)
BACKUPDIR=('/home/e-smith' '/etc/e-smith') # <============================ listes des dossiers à sauvegarder
+
sur une installation neuve de SME (avec juste les contribs a réinstaller éventuellement suivant les répertoires exclu de la sauvegarde)
#
+
 
  ###################################
+
on monte le disque
  # excludes file - contains one wildcard pattern per line of files to exclude
+
mkdir /sauvegarde
  #  - This is a rsync exclude file.  See the rsync man page and/or the
+
mount -U <UUID> /sauvegarde
#   example_exclude_file
+
on se place dans le dossier rsync main
###################################
+
cd /sauvegarde/rsync/main
  EXCLUDES=""
+
on lance la restauration
  #
+
  rsync -auvz --exclude=/sauvegarde/ * /
  ###################################
+
on verifie que tout est bon puis:
# root directory to for backup stuff
+
  cd ~
###################################
+
  umount /sauvegarde
ARCHIVEROOT=$repertoire"/rsync"
+
et si vous avez restauré des fichiers de configuration je conseille au minimum :
#
+
signal-event post-upgrade; signal-event reboot
#########################################
+
 
# From here on out, you probably don't  #
+
et logiquement tout roule.
#  want to change anything unless you  #
+
#  know what you're doing.             #
+
#########################################
+
#
+
  # directory which holds our current datastore
+
  CURRENT=main
+
  #
+
  # directory which we save incremental changes to
+
  INCREMENTDIR=`date +%Y-%m-%d`
+
   
+
  # options to pass to rsync
+
  OPTIONS="--force --ignore-errors --delete --delete-excluded \
+
  --exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av"
+
   
+
  export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
+
+
# make sure our backup tree exists
+
install -d $ARCHIVEROOT/$CURRENT
+
+
# our actual rsyncing function
+
  do_rsync()
+
  {
+
    echo "debut rsync"
+
    rsync $OPTIONS ${BACKUPDIR[@]} $ARCHIVEROOT/$CURRENT  >/tmp/rsyncfiles
+
    echo "fin rsync"
+
}
+
+
# our post rsync accounting function
+
do_accounting()
+
{
+
    echo "do_accounting"
+
    echo "do_accounting" >>/tmp/rsync_script_tmpfile
+
    echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
+
    echo >> /tmp/rsync_script_tmpfile
+
    echo "################################################">>/tmp/rsync_script_tmpfile
+
    echo " du -s $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile"
+
    du -s $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
+
    echo "################################################">>/tmp/rsync_script_tmpfile
+
    echo "état du disque $disque" >>/tmp/rsync_script_tmpfile
+
    echo "################################################">>/tmp/rsync_script_tmpfile
+
    echo "df /sauvegarde >>/tmp/rsync_script_tmpfile"
+
    df /sauvegarde >>/tmp/rsync_script_tmpfile
+
    echo "################################################">>/tmp/rsync_script_tmpfile
+
    echo "fichiers pris en compte ce jour">>/tmp/rsync_script_tmpfile
+
    echo "################################################">>/tmp/rsync_script_tmpfile
+
    echo "cat /tmp/rsyncfiles >>/tmp/rsync_script_tmpfile"
+
    cat  /tmp/rsyncfiles  >>/tmp/rsync_script_tmpfile
+
    echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
+
    Mail $MAILADDR -s "$HOSTNAME Backup Report" < /tmp/rsync_script_tmpfile
+
    echo "rm /tmp/rsync_script_tmpfile"
+
    rm /tmp/rsync_script_tmpfile
+
  }
+
   
+
# some error handling and/or run our backup and accounting
+
  if [ -f $EXCLUDES ]; then
+
  if [ -d $BACKUPDIR ]; then
+
  # now the actual transfer
+
  do_rsync && do_accounting
+
  else
+
  echo "cant find $BACKUPDIR"; exit
+
  fi
+
  else
+
  echo "cant find $EXCLUDES"; exit
+
fi
+
+
#demonter le lecteur
+
echo "on demonte le disque"
+
umount -f $disque
+
  
 
== Remerciements ==
 
== Remerciements ==
Ligne 236 : Ligne 189 :
  
  
== a venir ==
+
== Notes  -- Brouillon ==
 +
 
 +
soit utilisation de udev, grace aux info de : udevinfo -a -p /sys/block/sda
  
appeler le disque en focntion de son uid ou d'un label
+
soit appeler le disque en fonction de son uid ou d'un label
  
 
  tune2fs /dev/sda1 -l
 
  tune2fs /dev/sda1 -l
Ligne 244 : Ligne 199 :
 
e2label permet de modifier le label du hdd
 
e2label permet de modifier le label du hdd
  
apres il suffit de faire : (sans les <>)
+
après il suffit de faire : (sans les <>)
  
 
  mount -L <label> /sauvegarde
 
  mount -L <label> /sauvegarde
Ligne 250 : Ligne 205 :
 
  mount -U <UUID>  /sauvegarde
 
  mount -U <UUID>  /sauvegarde
  
 +
/lib/udev/vol_id -u /dev/sda1
 +
permet de connaitre le uuid de totu disque meme non linux.
 +
mtools peut permettre de renomer un disque http://ubuntu.wordpress.com/2006/03/01/editing-fat32-partition-labels-using-mtools/
  
le UID est a preferer (plus unique et evite un blocage du systeme en cas de branchement de deux disuqes avec le même label)
 
  
cette simple commande suffit ensuite à verifier si le disque est connecté, et s'il est deja monté, ou si le UUID est faux:
+
le UID est a préférer (plus unique et évite un blocage du système en cas de branchement de deux disuqes avec le même label)
 +
 
 +
cette simple commande suffit ensuite à verifier si le disque est connecté, et s'il est déjà monté, ou si le UUID est faux:
  
 
:mount: UUID erroné
 
:mount: UUID erroné
Ligne 261 : Ligne 220 :
  
 
:mount: pas de telle partition repérée
 
:mount: pas de telle partition repérée
 +
 +
PID permettant de savoir si tourne, + fichier indiquant qu'il a fini depuis moins d'une heure à effacer  dés que déconnecté.

Version actuelle en date du 5 décembre 2007 à 09:45


Principe de la sauvegarde Rsync sur disque dur USB

L'idée est de profiter de rsync et ses options pour :

1- avoir une sauvegarde 1:1 toujours à jours des dossier à sauvegarder

2- avoir des dossiers de sauvegarde secondaires journaliers contenant chacun les fichiers modifiés ou supprimés lors de la sauvegarde journalière

Plaidoyer pour la sauvegarde rsync

Avantages lors de la sauvegarde:

1- n'est copié que ce qui a changé = gain de place

2- support disque dur (ou eventuellement DVD-RW) moins couteux que DAT

3- rapidité de la sauvegarde

4- faible trafic en écriture

Avantages lors de la restauration

1- rapidité pour rechercher un unique fichier en plusieurs versions sur un seul support

2- rapidité pour restaurer l'integralité de la sauvegarde par simple rsync inversé ou cp sans décompression, ni lecture lente de bandes magnétiques

Économie ne rime pas avec sécurité

Ce n'est pas parce que l'investissement dans des disques dur USB est moins couteux que dans des lecteurs DAT avec des bandes magnétiques qu'il faut économiser sur le nombre de disques pour les sauvegardes. En effet un disque dur dans un boitier USB peut crasher....

Darrell May, de l'équipe de contribs.org, conseille d'avoir au minimum un jeu de 9 disques durs USB.

LUNDI

MARDI

MERCREDI

JEUDI

VENDREDI-WK1

VENDREDI-WK2

VENDREDI-WK3

VENDREDI-WK4

VENDREDI-WK5

Un archive mensuelle peut venir s'ajouter en 10° disque. Les disques devront êtres renouvelés régulièrement et de façon échelonnée, par des disques provenant d'un fabricant et d'un vendeur sur. Ces disques devront donc tourner de façon journalière, et être remis dans un lieu sur à l'abri du vol, du feu, et de tous chocs électriques, mécaniques, thermiques et électromagnétiques.

Dans la pratique, et dans le cadre d'un soho (qui est le cadre idéal pour une SME): un minimum de 2 disques est indispensable avec le script développé ci dessous et alternés dans leur utilisation.

Ma préférence irait même à 3 : un servant de sauvegarde tous les jours, et les deux autres (2 et 3) de sauvegarde du disque 1 un jour sur 2.

Mais en aucun cas un seul disque de sauvegarde n'est une solution fiable! Imaginez le court circuit au moment ou le disque sauvegarde est branché : le serveur grillé et les sauvegardes aussi !

Attention on peut modifier votre contenu !!

RSYNC vers un site secondaire via un tunnel SSH2

à venir

cette méthode pourra être une sécurité de plus dans la sauvegarde, attention toutefois au vol des données si le site secondaire n'est pas sur.

____

en attendant voici un embryon

1- utiliser la méthode du site de grand pa pour obtenir une clef privé sur le serveur "serveur rsync SSH" copier la dans le fichier /root/.ssh/identity par exemple sur le serveur "client rsync ssh"

2- utiliser le script suivant

#!/bin/sh
# variable de date
DATE=$(date +%d)
echo "$DATE" >>/tmp/sauvegarde.txt  
#rsync des dossiers importants du serveur
SRC1=("/home/e-smith/files/ibays/Primary" "/home/e-smith/files/ibays/cool" "/home/e-smith/files/users/admin"   "/etc/cron.daily/sauvemsql")
#destination sur le serveur de sauvegarde
DEST="/home/e-smith/files/users/sauvegardes/home/rsync/"
# -n simulation
OPTIONS=" --force --ignore-errors --delete --delete-excluded -av"
#utilisation d'une clef RSA
rsync -e "ssh -i ~/.ssh/identity" $OPTIONS ${SRC1[@]} root@IP.IP.IP.IP:$DEST >>/tmp/sauvegarde.txt

RSYNC vers un disque dur USB

Sous SME un disque dur USB est automatiquement monté dans un dossier du type /media/usbdisk1 ... MAis nous n'allons pas utiliser cette fonction.

La première méthode est d'utiliser un script automatique lancé par le cron, et nécessitant que le disque soit connecté toute la nuit par exemple afin d'être utilisé pour la sauvegarde, et remplacé dans la journée par le suivant dans le jeux de disques.

Voici comment mettre en place une sauvegarde journalière a 4h du mat:

Reperez et notez l'UUID de votre disque USB (que vous avez préalablement formaté en EXT3), après l'avoir branché

blkid

Téléchargez le fichier dans le répertoire /etc/cron.daily ce qui executera automatiquement le script chaque nuit

wget -O /etc/cron.daily/RsyncUSB http://smeserver.pialasse.com/fichiers/RsyncUSB
chmod a+x /etc/cron.daily/RsyncUSB

Editez le contenu du fichier pour l'adapter à vos besoins

mcedit /etc/cron.daily/RsyncUSB
  1. mettez l'UUID de votre disque
  2. changez l'adresse mail à prévenir si nécessaire
  3. ajoutez d'éventuels dossiers à exclure de la sauvegarde

testez la sauvegarde immediatement comme ceci:

sh /etc/cron.daily/RsyncUSB


Pour facilement gerer les UUID téléchargez ma contrib : [1]


Alternativement vous pouvez telecharger le ficher dans le dossier root et l'appeler à l'aide de /etc/crontab en editant le fichier en question ... ou en utilisant la contrib crontab manager voir le site de Master Sleepy AKA Vanhees. cette methode aura l'avantage de choisir l'heure a laquelle vous désirez réaliser la sauvegarde

Restauration d'un fichier (ou d'un dossier)

Votre fichier peut se trouver dans le dossier principal (qui contient la dernière version à jour) ou dans une sauvegarde évènementielle (qui contient une version antérieure modifiée depuis)

L'avantage est de permettre à un utilisateur de retrouver une version saine d'un fichier modifié par inadvertance même après plusieurs semaines.


Remplacez <UUID> par le UUID correspondant à votre disque, vous pouvez l'obtenir en faisant blkid et un copier coller via putty, ou grace a ma contrib usb disk manager.

Vous pouvez aussi remplacer la ligne : mount -U <UUID> /sauvegarde par : mount /dev/sda1 /sauvegarde dans le cas ou le disque USB a pour chemin: /dev/sda1

mkdir /sauvegarde
mount -U <UUID>  /sauvegarde    # recherche par UUID, plus pertinente si vous avez plusieurs disques
cd /sauvegarde/rsync
mkdir resto
find /sauvegarde/rsync -iname <nomdufichier> |xargs -i -t cp -pfr --parents {} /sauvegarde/rsync/resto


Vous avez plus qu'a naviguer dans le dossier resto voir donner son contenu à l'interessé.

Voici une liste non exhaustive des options que vous pouvez ajouter pour affiner la recherche (man find pour plus):

-daystart        compter le temps a partir de maintenant et pas 24 h en arriere
-atime +1        24 dernier accés plus de 24 heures avant le debut du temps de recherche
-ctime +1        24 dernier changement de status plus de 24 heures avant le debut du temps de recherche
-group gname
-user username
-mtime +1        24 derniere modification  plus de 24 heures avant le debut du temps de recherche
-size n[cwbkMG]
-type f          f= fichier normal , d= dossier ....
-wholename       nom incluant le chemin
-iwholename      meme chose mais insensible a la casse (majuscule/minuscule)

apres:

cd ~
umount /sauvegarde

Restauration de la sauvegarde entière

Voici comment en theorie restaurer facilement votre sme intégralement (enfin ce que vous en avez sauvegardé) sur une installation neuve de SME (avec juste les contribs a réinstaller éventuellement suivant les répertoires exclu de la sauvegarde)

on monte le disque

mkdir /sauvegarde
mount -U <UUID>  /sauvegarde

on se place dans le dossier rsync main

cd /sauvegarde/rsync/main

on lance la restauration

rsync -auvz --exclude=/sauvegarde/ * /

on verifie que tout est bon puis:

cd ~
umount /sauvegarde

et si vous avez restauré des fichiers de configuration je conseille au minimum :

signal-event post-upgrade; signal-event reboot

et logiquement tout roule.

Remerciements

http://www.linuxfocus.org/Francais/March2004/article326.shtml#326lfindex3

http://www.stearns.org/

http://arnofear.free.fr/linux/rsync-1.php


Notes -- Brouillon

soit utilisation de udev, grace aux info de : udevinfo -a -p /sys/block/sda

soit appeler le disque en fonction de son uid ou d'un label

tune2fs /dev/sda1 -l

e2label permet de modifier le label du hdd

après il suffit de faire : (sans les <>)

mount -L <label> /sauvegarde

ou

mount -U <UUID>  /sauvegarde

/lib/udev/vol_id -u /dev/sda1 permet de connaitre le uuid de totu disque meme non linux. mtools peut permettre de renomer un disque http://ubuntu.wordpress.com/2006/03/01/editing-fat32-partition-labels-using-mtools/


le UID est a préférer (plus unique et évite un blocage du système en cas de branchement de deux disuqes avec le même label)

cette simple commande suffit ensuite à verifier si le disque est connecté, et s'il est déjà monté, ou si le UUID est faux:

mount: UUID erroné
mount: /dev/sda1 est déjà monté ou /sauvegarde/ est occupé
mount: selon mtab /dev/sda1 est monté sur /sauvegarde
mount: pas de telle partition repérée

PID permettant de savoir si tourne, + fichier indiquant qu'il a fini depuis moins d'une heure à effacer dés que déconnecté.