Sauvegarde
par
popularité : 3%
XII. Sauvegarde utilisateur
A. Introduction :
Une bande magnétique est un support (média) structuré en
blocs à accès séquentiel (et non direct comme pour les disques durs par
exemple). Les données y sont simplement placées (ou extraites)
séquentiellement.
Pour utiliser une bande magnétique, on a donc besoin d’un
fichier spécial fonctionnant en mode caractère (type c).
Le fichier spécial correspondant au lecteur de DAT est
généralement :
-
/dev/rmt/0m sous HP-UX
-
/dev/rm0 sous AIX
-
/dev/.... sous SCO-UNIX
Deux commandes sont standard sous UNIX : tar & cpio .
Elles permettent de créer et de relire une archive sur une
bande magnétique (ce qui est aussi possible sur le file system).
Une archive est un énorme fichier d’un format très spécial
qui contient :
-
La liste de ce qui a été sauvegardé (chemins d’accès
menant aux fichiers), -
Les contenus de tous les fichiers sauvegardés.
Attention :
On ne peut récupérer le contenu d’une archive qu’en employant la même
commande que celle qui a été utilisée pour effectuer la sauvegarde.
Ne pas confondre archivage et compression de données ; ce sont deux notions
indépendantes.
La commande tar, la plus ancienne, d’emploi aisé, est
notamment utilisée sur le réseau internet
La commande cpio, plus complexe à utiliser, permet
d’effectuer des sauvegardes partielles sur des critères très fins. La
restauration est aussi plus aisée.
B. Commande tar
Quelques caractéristiques
- Commande d’origine Berkeley
- Traitement récursif des répertoires ( sauvegarde de toute la
sous-arborescence ) - Écrase le support de sauvegarde ( possibilité de créer l’archive sur un
fichier disque ) - Commande de transfert ( bonne portabilité entre machines Unix )
Comportements par défaut en restauration ( modifiables par options )
- Ecrasement des fichiers existants du disque dur
- Restauration avec la date de sauvegarde et les propriétaires et
permissions d’origine
syntaxe : tar clé f fichier_spécial [fichiers ou répertoire]
Exemple :
$ tar -cvf /dev/rmt/0m | Crée une archive à partir des fichiers du répertoire courant et des sous-répertoires. Les chemins d’accès mémorisés le sont en relatif (.) |
$ tar -rvf /dev/rmt/0m *.c | Rajoute tous les fichiers .c à la fin de l’archive existante. |
$ tar -tvf /dev/rmt/0m | affiche la Table des entrées de l’archive. |
$ tar -xvf /dev/rmt/0m | eXtrait les fichiers de l’archive. |
$ tar -xvf /dev/rmt/0m "/home/*" | eXtrait l’arborescence située sous /home de l’archive. |
Si le dernier argument est un nom de fichier ou un masque tel que
"*.c" , la sauvegarde se fait alors sur un seul niveau dans
l’arborescence du file system.
Si par contre on indique un nom de répertoire en tant qu’objet Ã
sauvegarder, la commande tar sauvegardera également toute l’arborescence se
trouvant sous le répertoire précisé.
Autres options :
-
u (Update) : les fichiers sont
ajoutés à la fin de l’archive s’ils sont nouveaux ou modifiés. -
r (Rajoute) : les fichiers spécifiés sont
ajoutés à la fin de l’archive.
Lors d’une restauration, si un fichier est déjÃ
présent sur le disque dur, il est écrasé.
Exemple
de sauvegarde des fichiers du répertoire courant
$ tar cvf /tmp/archive .
|
On utilise, dans cet exemple, un fichier disque comme destination de la
sauvegarde. Dans la pratique, on utilisera le nom d’un périphérique ( fichier
spécial ).
On fait le choix d’une sauvegarde en nom relatif, ce qui donne plus de
possibilités en restauration puisque les fichiers sont recréés avec le nom
enregistré sur le support de sauvegarde.
Liste du contenu de l’archive
$ tar tvf /tmp/archive
|
Restauration complète
|
Restauration d’un fichier individuel
|
C. Commande cpio
Quelques caractéristiques
- Commande d’origine System V
- Ecrase le support de sauvegarde ( possibilité de créer l’archive sur un
fichier disque ) - N’est pas une commande de transfert ( mauvaise portabilité entre machines
Unix )
Comportements par défaut en restauration ( modifiables par options )
- Refus d’écrasement des fichiers existants du disque dur
- Restauration avec la date courante et propriétaires et permissions du
login courant
On doit alimenter l’entrée standard de la commande avec des noms de
fichiers,la commande « find » est souvent la plus appropriée.
La commande fabrique une archive résultat qu’elle écrit sur sa sortie
standard.
La commande cpio comporte trois options fondamantales (et
exclusives) :
-i Input : Restitution des fichiers sauvegardés
-o Output : Sauvegarde sur bande magnétique
-p Restitution immédiate vers un autre endroit du file
system (Copie de branches)
Autres options :
-o |
-I |
Fonctionnalité de l’option |
-c |
-c |
Ecrit un en-tête ASCII en début d’archive ( si utilisé avec -o , |
-x |
-x |
Permet de manipuler les fichiers spéciaux (/dev/...) |
-u |
Restitution inconditionnelle (Si le fichier existe déjà il l’écrase) |
|
-m |
maintient les infos de dates |
|
-d |
Recréer les structures des (sous)répertoires si nécessaire |
|
-v |
-v |
Affiche la liste des fichiers copiés |
Exemples :
$ find . -print | cpio -ocx > /dev/rmt/0m |
Crée l’archive (Output) |
$ cpio -icudmx < /dev/rmt/0m |
Restitue l’archive (Input) |
$ cpio -ict < /dev/rmt/0m |
Affiche la Table des matières |
$ cpio -icudm "*.c" < /dev/rmt/0m |
Extrait des fichiers de l’archive |
$ find . -print | cpio -pvd /users/newU |
Recopie |
Lors d’une restauration, si un fichier existe déjà cpio
conserve le plus récent.
Exemple de sauvegarde des fichiers du répertoire courant
|
Liste du contenu de l’archive
|
Restauration d’un fichier individuel
|
Restauration d’un fichier individuel en forçant l’écrasement du fichier
|
Restauration d’un fichier individuel nécessitant de recréer un
sous-répertoire
|
D. Commande dd
Il s’agit d’une commande de copie physique avec éventuelle conversion de
formats. La commande peut traiter des fichiers spéciaux, permettant, par exemple, la
duplication de supports ( disquettes, bandes ... ) ou le positionnement à un endroit précis ( sauts
de blocs ou de fichiers ... ).
Syntaxes simples
dd if=fic1 of=fic2 conv=mode
ou
dd < fic1 > fic2 conv=mode
Quelques conversions possibles
conv=swab |
Permutation des paires d’octets |
conv=ascii |
EBCDIC -> ASCII |
conv=ebcdic |
ASCII -> EBCDIC |
conv=ucase |
minuscules -> MAJUSCULES |
conv=lcase |
MAJUSCULES -> minuscules |
Exemples d’utilisation
|