Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dump [Le 06/09/2007, 13:34]
194.3.201.68 On fait la liste de /srv/files, mais on sauvegarde /srv/on_tape. Il doit y avoir une erreur
dump [Le 06/01/2023, 21:41] (Version actuelle)
Amiralgaby [Les scripts utiles] oubli d'une correction dans un test
Ligne 1: Ligne 1:
-{{tag>breezy dapper edgy backup securite ​serveur}}+{{tag>Xenial sauvegarde sécurité ​serveur}}
  
 ---- ----
  
  
-====== ​Les sauvegardes ​sur bandes magnétiques avec dump ====== +====== ​Sauvegardes ​sur bandes magnétiques avec Dump ======
- +
- +
- +
- +
- +
- +
-===== Introduction ​=====+
  
 L'​information contenue sur les disques est souvent plus importante que l'​ordinateur lui-même. Il est impératif de s'​assurer contre la perte d'​informations due à : L'​information contenue sur les disques est souvent plus importante que l'​ordinateur lui-même. Il est impératif de s'​assurer contre la perte d'​informations due à :
Ligne 17: Ligne 10:
   * une destruction par un logiciel   * une destruction par un logiciel
   * une erreur de l'​utilisateur   * une erreur de l'​utilisateur
-  * un désastre (incendie, tremblement de terre, raz de marée, météorite, ​exctinction ​de l'espece ​humaine...) +  * un désastre (incendie, tremblement de terre, raz de marée, météorite, ​extinction ​de l'espèce ​humaine, etc.) 
-  * ...+  * etc.
  
 La stratégie de sauvegarde adoptée va dépendre de : La stratégie de sauvegarde adoptée va dépendre de :
Ligne 24: Ligne 17:
   * le prix que l'on est prêt à engager   * le prix que l'on est prêt à engager
  
-L'​offre en terme de support de sauvegarde est abondante. On retrouve les CD, les DVD, les bandes magnétiques,​ les disques ZIP (ou similaires),​ les disques durs...+L'​offre en terme de support de sauvegarde est abondante. On retrouve les CD, les DVD, les bandes magnétiques,​ les disques ZIP (ou similaires),​ les disques durs, etc.
  
 Dans cet article, nous allons nous pencher sur les bandes magnétiques. Les bandes magnétiques restent une solution très intéressante pour les quantités importantes de données pour les raisons suivantes : Dans cet article, nous allons nous pencher sur les bandes magnétiques. Les bandes magnétiques restent une solution très intéressante pour les quantités importantes de données pour les raisons suivantes :
   * capacités disponibles jusqu'​à 200 Go non compressés (plus ou moins 400 Go compressés)   * capacités disponibles jusqu'​à 200 Go non compressés (plus ou moins 400 Go compressés)
   * prix de revient au Go intéressant   * prix de revient au Go intéressant
-  * possibilités de sortir les bandes du batiment ​de production+  * possibilités de sortir les bandes du bâtiment ​de production
  
 ===== La sauvegarde sur bandes avec Ubuntu ===== ===== La sauvegarde sur bandes avec Ubuntu =====
Ligne 36: Ligne 29:
  
 La plupart des lecteurs/​enregistreurs de bandes magnétiques sont disponibles en SCSI. Dans mon cas, il s'agit d'un //HP StorageWorks Ultrium 215// que j'​utilise avec des bandes de 100 Go. La plupart des lecteurs/​enregistreurs de bandes magnétiques sont disponibles en SCSI. Dans mon cas, il s'agit d'un //HP StorageWorks Ultrium 215// que j'​utilise avec des bandes de 100 Go.
 +
  
 ==== Les applicatifs ==== ==== Les applicatifs ====
Ligne 43: Ligne 37:
 Les outils que nous allons utiliser sont : ''​dump'',​ ''​restore''​ et ''​mt''​. Les outils que nous allons utiliser sont : ''​dump'',​ ''​restore''​ et ''​mt''​.
  
-Pour installer les applications ''​dump''​ et ''​restore'',​ vous devez installer le paquet ​''​dump''​ (dans le dépôt //​Universe//​). Pour installer ''​mt'',​ vous devez installer le paquet ''​mt-st''​ (dans le dépôt //​Universe//​ également).+Pour installer les applications ''​dump''​ et ''​restore'',​ vous devez [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>dump]]**. Pour installer ''​mt'',​ vous devez installer le paquet ''​mt-st''​ (dans le dépôt //​Universe//​ également).
  
 === dump === === dump ===
Ligne 51: Ligne 45:
 Voici la syntaxe générale d'une commande ''​dump''​ :  Voici la syntaxe générale d'une commande ''​dump''​ : 
  
-   sudo dump -0 -A archfile -L label -f device filestosave+  ​sudo dump -0 -A archfile -L label -f device filestosave
  
 Voici un exemple que j'​utilise sur mon système : Voici un exemple que j'​utilise sur mon système :
  
-   sudo dump -0 -A /​opt/​tape/​LU-MIDI.arch -L "​LU-MIDI"​ -f /dev/st0 /srv/+  ​sudo dump -0 -A /​opt/​tape/​LU-MIDI.arch -L "​LU-MIDI"​ -f /dev/st0 /srv/
  
 Les paramètres utilisés sont les suivants : Les paramètres utilisés sont les suivants :
Ligne 61: Ligne 55:
   - ''​-A''​ : indique le chemin du fichier archive à utiliser. Ce fichier va contenir un ensemble d'​informations comme l'​arborescence qui est sur la bande ainsi que les positions physiques des fichiers sur la bande. A l'aide de ce fichier, on peut facilement déterminer les éléments à restaurer en cas de besoin.   - ''​-A''​ : indique le chemin du fichier archive à utiliser. Ce fichier va contenir un ensemble d'​informations comme l'​arborescence qui est sur la bande ainsi que les positions physiques des fichiers sur la bande. A l'aide de ce fichier, on peut facilement déterminer les éléments à restaurer en cas de besoin.
   - ''​-L''​ : indique le label qui sera sauvegardé sur la bande. Un label fait maximum 16 caractères suivi d'un ''​\0''​ (en fait, il faut toujours indiquer le label entre guillemets (''"​label"''​).   - ''​-L''​ : indique le label qui sera sauvegardé sur la bande. Un label fait maximum 16 caractères suivi d'un ''​\0''​ (en fait, il faut toujours indiquer le label entre guillemets (''"​label"''​).
-  - ''​-f''​ : indique ​la device sur laquelle ​on écrit. Notez qu'ici on utilise un lecteur de bande SCSI mais on peut utiliser un disque dur.+  - ''​-f''​ : indique ​le device sur lequel ​on écrit. Notez qu'ici on utilise un lecteur de bande SCSI mais on peut utiliser un disque dur.
   - dernier paramètre : l'​arborescence à sauvegarder.   - dernier paramètre : l'​arborescence à sauvegarder.
  
 Je vous invite à consulter les //​manpages//​ pour de plus amples informations concernant l'​utilisation de ''​dump''​. Je vous invite à consulter les //​manpages//​ pour de plus amples informations concernant l'​utilisation de ''​dump''​.
  
-== Concernant les sauvegardes incrémentales... ==+== Concernant les sauvegardes incrémentales… ==
  
 Une sauvegarde se fait toujours à un certain **niveau** (de 0 à 9). Une sauvegarde de niveau **i** consistera à sauver tout ce qui a été modifié depuis le dernier backup à un niveau inférieur. Un backup de niveau 0 revient à tout sauvegarder. Une sauvegarde se fait toujours à un certain **niveau** (de 0 à 9). Une sauvegarde de niveau **i** consistera à sauver tout ce qui a été modifié depuis le dernier backup à un niveau inférieur. Un backup de niveau 0 revient à tout sauvegarder.
Ligne 76: Ligne 70:
 Pour effectuer une restauration interactive,​ on utilise ''​restore''​ de la manière suivante : Pour effectuer une restauration interactive,​ on utilise ''​restore''​ de la manière suivante :
  
-   sudo restore -i -A archfile -f device+  ​sudo restore -i -A archfile -f device
  
 Pour restaurer une partie de la sauvegarde effectuée avec la commande ''​dump''​ de l'​exemple : Pour restaurer une partie de la sauvegarde effectuée avec la commande ''​dump''​ de l'​exemple :
  
-   sudo restore -i -A /​opt/​tape/​LU-MIDI.arch -f /dev/st0+  ​sudo restore -i -A /​opt/​tape/​LU-MIDI.arch -f /dev/st0
  
 Les paramètres utilisés sont les suivants : Les paramètres utilisés sont les suivants :
Ligne 87: Ligne 81:
   - ''​-f''​ : indique la device sur laquelle se trouve la sauvegarde.   - ''​-f''​ : indique la device sur laquelle se trouve la sauvegarde.
  
-// Remarque : // Par défaut, la restauration se passe toujours dans le répertoire courant. Dès lors, vérifiez que vous avez assez d'​espace disque libre avant d'​effectuer une grosse restauration.+//Remarque :// Par défaut, la restauration se passe toujours dans le répertoire courant. Dès lors, vérifiez que vous avez assez d'​espace disque libre avant d'​effectuer une grosse restauration.
  
-== La restauration ​en mode interactif ==+== Restauration ​en mode interactif ==
  
-Lorsque vous lancez une restauration en mode interactif, vous allez entrer dans une sorte de console simplifiée dans laquelle vous pouvez naviguer comme si vous aviez monter ​le système de fichier de la bande. Vous disposez d'un nombre de commandes restreints vous permettant de choisir les fichiers ou répertoires à restaurer :+Lorsque vous lancez une restauration en mode interactif, vous allez entrer dans une sorte de console simplifiée dans laquelle vous pouvez naviguer comme si vous aviez monté ​le système de fichier de la bande. Vous disposez d'un nombre de commandes restreints vous permettant de choisir les fichiers ou répertoires à restaurer :
   - ''​ls''​ : idem que la commande ''​ls''​ du bash.   - ''​ls''​ : idem que la commande ''​ls''​ du bash.
   - ''​cd repertoire''​ : idem que la commande ''​cd''​ du bash.   - ''​cd repertoire''​ : idem que la commande ''​cd''​ du bash.
Ligne 98: Ligne 92:
   - ''​quit''​ : quitte le mode interactif.   - ''​quit''​ : quitte le mode interactif.
  
-== La restauration ​complète ==+== Restauration ​complète ==
  
 Pour restaurer complètement les fichiers sauvegardés : Pour restaurer complètement les fichiers sauvegardés :
  
-   sudo restore -x -f /dev/st0+   sudo restore -x -A /​opt/​tape/​LU-MIDI.arch ​-f /dev/st0
  
-== La vérification ​de la bande magnétique ==+//Remarque :// Il est important de préciser avec l'​option -A le fichier dans lequel est inscrit l'​arborescence des fichiers sauvegardés,​ sinon ''​restore''​ refusera de recréer cette arborescence. 
 + 
 +== Vérification ​de la bande magnétique ==
  
 Pour vérifier un système de fichier présent sur la bande par rapport au système de fichier sur disque : Pour vérifier un système de fichier présent sur la bande par rapport au système de fichier sur disque :
Ligne 119: Ligne 115:
  
 C'est pour cela qu'il faut **tout noter soigneusement**. Pour se déplacer sur la bande, on ne dispose pas de beaucoup de possibilités. C'est pour cela qu'il faut **tout noter soigneusement**. Pour se déplacer sur la bande, on ne dispose pas de beaucoup de possibilités.
 +
 +! Concernant la syntaxe de la commande mt, elle peut à priori varier : l'​argument peut venir après le device.
 +   ex : sudo mt -f /dev/st0 rewind
  
 Pour rebobiner la bande (complètement) : Pour rebobiner la bande (complètement) :
Ligne 137: Ligne 136:
  
    sudo mt rewoffl -f /dev/st0    sudo mt rewoffl -f /dev/st0
 +
  
  
Ligne 143: Ligne 143:
 Lorsque j'ai mis en place la stratégie de sauvegarde de notre serveur, je me suis vite rendu compte qu'une certaine //​automatisation//​ s'​imposait. C'est pour cette raison que j'ai fait quelques scripts qui pourront sans doute vous servir. Lorsque j'ai mis en place la stratégie de sauvegarde de notre serveur, je me suis vite rendu compte qu'une certaine //​automatisation//​ s'​imposait. C'est pour cette raison que j'ai fait quelques scripts qui pourront sans doute vous servir.
  
-== Affiche le label de la bande insérée == +=== Affiche le label de la bande insérée ==
-<​code>​+ 
 +<​code ​bash>
 #!/bin/bash #!/bin/bash
 BAK_TMP=/​tmp BAK_TMP=/​tmp
Ligne 152: Ligne 153:
 rm $BAK_TMP/​what-tape.cmd rm $BAK_TMP/​what-tape.cmd
 mt rewind -f /dev/st0 mt rewind -f /dev/st0
-TAPE_LABEL=`cat $BAK_TMP/​what-tape.tmp ​| grep Label: ​| awk '​{print $2}'`+TAPE_LABEL=$(grep Label: ​$BAK_TMP/​what-tape.tmp | awk '​{print $2}')
 rm $BAK_TMP/​what-tape.tmp rm $BAK_TMP/​what-tape.tmp
-echo $TAPE_LABEL+echo "$TAPE_LABEL"
 </​code>​ </​code>​
  
-== Formate la bande en lui imposant un label == +=== Formate la bande en lui imposant un label ==
-<​code>​+ 
 +<​code ​bash>
 #!/bin/bash #!/bin/bash
 # Usage : tapebak_format <​name>​ # Usage : tapebak_format <​name>​
Ligne 173: Ligne 175:
 </​code>​ </​code>​
  
-== Effectue une sauvegarde == +=== Effectue une sauvegarde ==
-<​code>​+ 
 +<​code ​bash>
 #!/bin/bash #!/bin/bash
 # Usage : tapebak_backup <​name>​ # Usage : tapebak_backup <​name>​
Ligne 180: Ligne 183:
  
 BAK_NAME=$1 BAK_NAME=$1
-BAK_LABEL=`/​opt/​tapebak/​bin/​tapebak_label`+BAK_LABEL=$(/​opt/​tapebak/​bin/​tapebak_label)
 PATH_ARCH=/​opt/​tapebak/​archfiles PATH_ARCH=/​opt/​tapebak/​archfiles
 PATH_LIST=/​opt/​tapebak/​filelists PATH_LIST=/​opt/​tapebak/​filelists
Ligne 186: Ligne 189:
  
 # Initialise la log # Initialise la log
-echo "​Backup $BAK_NAME - `date +%F\ %X`" > $LOG+echo "​Backup $BAK_NAME - $(date +%F\ %X)" > $LOG
 echo ""​ >> $LOG echo ""​ >> $LOG
  
 # Vérifie le label de la bande # Vérifie le label de la bande
-if test $BAK_NAME != $BAK_LABEL+if test "$BAK_NAME" ​!= "$BAK_LABEL"
 then then
         # Génère une erreur         # Génère une erreur
         ERREUR="​Mauvaise bande ! Attendue : $BAK_NAME, dans le lecteur : $BAK_LABEL"​         ERREUR="​Mauvaise bande ! Attendue : $BAK_NAME, dans le lecteur : $BAK_LABEL"​
-        echo $ERREUR >> $LOG+        echo "$ERREUR" ​>> $LOG
         echo "​Opération annulée"​ >> $LOG         echo "​Opération annulée"​ >> $LOG
 else else
         # Commence la génération de la liste         # Commence la génération de la liste
-        ls -AlhR /​srv/​files/​* > $PATH_LIST/​$BAK_NAME.txt+        ls -AlhR /​srv/​files/​* > $PATH_LIST/"$BAK_NAME".txt
         # Dump le tout sur la bande         # Dump le tout sur la bande
-        dump -0 -A $PATH_ARCH/​$BAK_NAME.arc -L "​$BAK_NAME"​ -f /dev/st0 /srv/<del>on_tape</​del>​files ​>> $LOG +        dump -0 -A $PATH_ARCH/"$BAK_NAME".arc -L "​$BAK_NAME"​ -f /dev/st0 /​srv/​on_tape >> $LOG 
-        echo "DONE (`date +%X`)" >> $LOG+        echo "DONE ($(date +%X))" >> $LOG
         echo ""​ >> $LOG         echo ""​ >> $LOG
         # Rebobinage et éjection         # Rebobinage et éjection
         mt rewoffl -f /dev/st0         mt rewoffl -f /dev/st0
 fi fi
-cat $LOG | mail -s Tapebak\ $BAK_NAME admin@ub.untu.fr+mail -s Tapebak\ ​"$BAK_NAME" ​admin@ub.untu.fr ​< $LOG
 </​code>​ </​code>​
  
-== Restaure une bande en mode interactif == +=== Restaure une bande en mode interactif ==
-<​code>​+ 
 +<​code ​bash>
 #!/bin/bash #!/bin/bash
 # Usage : tapebak_restore <​name>​ # Usage : tapebak_restore <​name>​
Ligne 216: Ligne 220:
  
 BAK_NAME=$1 BAK_NAME=$1
-BAK_LABEL=`/​opt/​tapebak/​bin/​tapebak_label`+BAK_LABEL=$(/​opt/​tapebak/​bin/​tapebak_label)
 PATH_ARCH=/​opt/​tapebak/​archfiles PATH_ARCH=/​opt/​tapebak/​archfiles
-PATH_LIST=/​opt/​tapebak/​filelists+PATH_LIST=/​opt/​tapebak/​filelists
  
 # Vérifie le label de la bande # Vérifie le label de la bande
-if test $BAK_NAME != $BAK_LABEL+if test "$BAK_NAME" ​!= "$BAK_LABEL"
 then then
         # Génère une erreur         # Génère une erreur
         ERREUR="​Mauvaise bande ! Attendue : $BAK_NAME, dans le lecteur : $BAK_LABEL"​         ERREUR="​Mauvaise bande ! Attendue : $BAK_NAME, dans le lecteur : $BAK_LABEL"​
-        echo $ERREUR +        echo "$ERREUR" 
-        exit -1+        exit 1
 else else
         # Lance le système de restauration interactif         # Lance le système de restauration interactif
-        restore -i -A $PATH_ARCH/​$BAK_NAME.arc -f /dev/st0+        restore -i -A "$PATH_ARCH/​$BAK_NAME".arc -f /dev/st0
         mt rewind -f /dev/st0         mt rewind -f /dev/st0
         echo "​Restauration $BAK_NAME finie !" | mail -s Tapebak admin@ub.untu.fr         echo "​Restauration $BAK_NAME finie !" | mail -s Tapebak admin@ub.untu.fr
Ligne 237: Ligne 241:
 ---- ----
  
-// Contributeurs ​: [[utilisateurs:​ostaquet]] //+//Contributeur ​: [[:utilisateurs:​ostaquet]].//
  • dump.1189078493.txt.gz
  • Dernière modification: Le 18/04/2011, 14:52
  • (modification externe)