Table des matières

Dernière mise-à-jour : 2020/01/30 03:28

SO204 - Gestion de l'Archivage et de la Compression

Archivage

<note important> Vous devez être sous ksh ou bash pour suivre cette leçon. </note>

Si besoin est, supprimez le fichier /test :

#rm -rf /test [Entrée]

Afin de poursuivre, il convient de créer une arborescence à sauvegarder :

#mkdir -p /test/repY; mkdir /test/repZ [Entrée]
#cd /test/repY; touch Y1 Y2 Y3 [Entrée]
#cd /test/repZ; touch Z1 Z2 [Entrée]
#ls -lR /test [Entrée]

Vous devez obtenir un résultat similaire à celui-ci :

/test:
total 4
drwxr-xr-x   2 root     root         512 juin 18 12:35 repY
drwxr-xr-x   2 root     root         512 juin 18 12:35 repZ

/test/repY:
total 0
-rw-r--r--   1 root     root           0 juin 18 12:35 Y1
-rw-r--r--   1 root     root           0 juin 18 12:35 Y2
-rw-r--r--   1 root     root           0 juin 18 12:35 Y3

/test/repZ:
total 0
-rw-r--r--   1 root     root           0 juin 18 12:35 Z1
-rw-r--r--   1 root     root           0 juin 18 12:35 Z2

tar

Le programme tar a été originellement prévu pour sauvegarder sur des bandes magnétiques, d'où son nom issu de tape archiver.

La commande tar peut sauvegarder vers :

Vous allez maintenant sauvegarder votre dossier test ainsi que son contenu vers un fichier :

#tar cvf /tmp/test.tar /test [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# tar cvf /tmp/test.tar /test
a /test/ 0K
a /test/repY/ 0K
a /test/repY/Y1 0K
a /test/repY/Y2 0K
a /test/repY/Y3 0K
a /test/repZ/ 0K
a /test/repZ/Z1 0K
a /test/repZ/Z2 0K

Pour visualiser la table of contents de votre sauvegarde, utilisez la commande suivante :

#tar tvf /tmp/test.tar [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# tar tvf /tmp/test.tar
tar : taille du bloc = 10
drwxr-xr-x   0/0        0 juin 18 12:35 2008 /test/
drwxr-xr-x   0/0        0 juin 18 12:35 2008 /test/repY/
-rw-r--r--   0/0        0 juin 18 12:35 2008 /test/repY/Y1
-rw-r--r--   0/0        0 juin 18 12:35 2008 /test/repY/Y2
-rw-r--r--   0/0        0 juin 18 12:35 2008 /test/repY/Y3
drwxr-xr-x   0/0        0 juin 18 12:35 2008 /test/repZ/
-rw-r--r--   0/0        0 juin 18 12:35 2008 /test/repZ/Z1
-rw-r--r--   0/0        0 juin 18 12:35 2008 /test/repZ/Z2

Afin de créer une sauvegarde incrémentale, vous avez besoin de créer un fichier qui servira de référence de date :

#touch /tmp/dateref [Entrée]

Modifiez maintenant deux des fichiers de votre arborescence test :

#echo "Solaris est super \!" > /test/repY/Y1 [Entrée]
#echo "Solaris is wonderful \!" > /test/repZ/Z1 [Entrée]

Pour procéder à votre sauvegarde incrémentale, vous devez trouver les fichiers modifiés ou créés depuis la création de votre fichier /tmp/dateref. Saisissez donc la commande suivante :

#find /test -newer /tmp/dateref > /tmp/tar.liste [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cat /tmp/tar.liste
/test/repY/Y1
/test/repZ/Z1

Sauvegardez maintenant uniquement les fichiers modifiés vers un deuxième fichier :

#tar -cvf /tmp/incremental.tar -I /tmp/tar.liste [Entrée]

Contrôlez le contenu du fichier incremental.tar :

# tar tvf /tmp/incremental.tar
tar : taille du bloc = 6
-rw-r--r--   0/0       42 juin 18 13:27 2008 /test/repY/Y1
-rw-r--r--   0/0       48 juin 18 13:28 2008 /test/repZ/Z1

Supprimez maintenant le contenu du répertoire test :

#rm -rf /test/* [Entrée]

Afin de pouvoir restaurer les fichiers de votre première sauvegarde, placez-vous à la racine de votre système :

#cd / [Entrée]

Restaurez le contenu de votre répertoire test :

#tar xvf /tmp/test.tar [Entrée]

Vous obtiendrez un résultat similaire au suivant :

# tar xvf /tmp/test.tar
tar : taille du bloc = 10
x /test, 0 bytes, 0 blocs de bande
x /test/repY, 0 bytes, 0 blocs de bande
x /test/repY/Y1, 0 bytes, 0 blocs de bande
x /test/repY/Y2, 0 bytes, 0 blocs de bande
x /test/repY/Y3, 0 bytes, 0 blocs de bande
x /test/repZ, 0 bytes, 0 blocs de bande
x /test/repZ/Z1, 0 bytes, 0 blocs de bande
x /test/repZ/Z2, 0 bytes, 0 blocs de bande

Constatez maintenant que l'opération s'est bien déroulée :

#ls -lR /test [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ls -lR /test
/test:
total 4
drwxr-xr-x   2 root     root         512 juin 18 12:35 repY
drwxr-xr-x   2 root     root         512 juin 18 12:35 repZ
 
/test/repY:
total 0
-rw-r--r--   1 root     root           0 juin 18 12:35 Y1
-rw-r--r--   1 root     root           0 juin 18 12:35 Y2
-rw-r--r--   1 root     root           0 juin 18 12:35 Y3
 
/test/repZ:
total 0
-rw-r--r--   1 root     root           0 juin 18 12:35 Z1
-rw-r--r--   1 root     root           0 juin 18 12:35 Z2

Constatez que le contenu de votre fichier /test/repY/Y1 soit vide :

#cat /test/repY/Y1 [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cat /test/repY/Y1
#

Restaurez maintenant les fichiers modifiés :

#tar xvf /tmp/incremental.tar [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# tar xvf /tmp/incremental.tar
tar : taille du bloc = 6
x /test/repY/Y1, 42 bytes, 1 blocs de bande
x /test/repZ/Z1, 48 bytes, 1 blocs de bande

Constatez maintenant que l'opération s'est bien déroulée :

#ls -lR /test [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ls -lR /test
/test:
total 4
drwxr-xr-x   2 root     root         512 juin 18 13:40 repY
drwxr-xr-x   2 root     root         512 juin 18 13:40 repZ
 
/test/repY:
total 2
-rw-r--r--   1 root     root          42 juin 18 13:27 Y1
-rw-r--r--   1 root     root           0 juin 18 12:35 Y2
-rw-r--r--   1 root     root           0 juin 18 12:35 Y3
 
/test/repZ:
total 2
-rw-r--r--   1 root     root          48 juin 18 13:28 Z1
-rw-r--r--   1 root     root           0 juin 18 12:35 Z2

<note> Que constatez-vous ? </note>

cpio

La commande cpio (Copy Input To Output). cpio peut gérer les archives au format tar. La différence majeure entre tar et cpio est que ce dernier stocke les chemins d'accès aux fichiers sauvgardés en même temps que les fichiers eux-mêmes. Ceci implique que dans le cas où le chemin absolu a été spécifié lors de la sauvegarde, il est impossible de restaurer un fichier à un autre emplacement que son emplacement d'origine.

Vous allez utiliser maintenant le logiciel cpio pour effectuer les sauvegardes et restaurations.

Dans un premier temps, vous devez utiliser cpio pour construire une liste de fichiers à sauvegarder :

#find /test > /tmp/cpio.liste [Entrée]

Constatez le contenu de votre fichier cpio.liste :

#cat /tmp/cpio.liste [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cat /tmp/cpio.liste
/test
/test/repY
/test/repY/Y1
/test/repY/Y2
/test/repY/Y3
/test/repZ
/test/repZ/Z1
/test/repZ/Z2

Sauvegardez maintenant les fichiers et répertoires référencés par le fichier /tmp/cpio.liste :

#cpio -ov < /tmp/cpio.liste > /tmp/test.cpio [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cpio -ov < /tmp/cpio.liste > /tmp/test.cpio
/test
/test/repY
/test/repY/Y1
/test/repY/Y2
/test/repY/Y3
/test/repZ
/test/repZ/Z1
/test/repZ/Z2
8 blocs

<note> Utilisez le manuel de cpio pour comprendre la ligne de commande et notez vos observations. </note>

Consultez maintenant la table of contents de votre sauvegarde :

#cpio -it < /tmp/test.cpio [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cpio -it < /tmp/test.cpio
/test
/test/repY
/test/repY/Y1
/test/repY/Y2
/test/repY/Y3
/test/repZ
/test/repZ/Z1
/test/repZ/Z2
8 blocs

<note> Utilisez le manuel de cpio pour comprendre la ligne de commande et notez vos observations. </note>

Supprimez maintenant le répertoire /test/repY :

#rm -rf /test/repY [Entrée]

Restaurez uniquement les fichiers supprimés :

#cpio -ivdum "/test/repY/*" < /tmp/test.cpio [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

<note> Utilisez le manuel de cpio pour comprendre la ligne de commande et notez vos observations. </note>

# cpio -ivdum "/test/repY/*" < /tmp/test.cpio
/test/repY/Y1
/test/repY/Y2
/test/repY/Y3
8 blocs

Contrôlez le bon déroulement de la restauration :

#ls -lR /test [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

/test:
total 4
drwxr-xr-x   2 root     root         512 juin 18 16:56 repY
drwxr-xr-x   2 root     root         512 juin 18 13:40 repZ
 
/test/repY:
total 2
-rw-r--r--   1 root     root          42 juin 18 13:27 Y1
-rw-r--r--   1 root     root           0 juin 18 12:35 Y2
-rw-r--r--   1 root     root           0 juin 18 12:35 Y3
 
/test/repZ:
total 2
-rw-r--r--   1 root     root          48 juin 18 13:28 Z1
-rw-r--r--   1 root     root           0 juin 18 12:35 Z2

dd

La commande dd n'est pas réellement une commande de sauvegarde.

La commande dd copie le fichier passé en entrée dans le fichier de sortie en limitant le nombre d'octets copiés par l'utilisation de deux options :

Vous allez utiliser maintenant le logiciel dd pour effectuer une sauvegarde de votre MBR et de la FAT.

Effectuez une sauvegarde de votre MBR :

#dd if=/dev/dsk/c0d0s0 of=/tmp/mbr.save bs=1 count=446 [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# dd if=/dev/dsk/c0d0s0 of=/tmp/mbr.save bs=1 count=446
446+0 enregistrements entrants
446+0 enregistrements sortants

Effectuez maintenant une sauvegarde de votre FAT :

#dd if=/dev/dsk/c0d0s0 of=/tmp/fat.save bs=1 count=64 skip=446 [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# dd if=/dev/dsk/c0d0s0 of=/tmp/fat.save bs=1 count=64 skip=446
64+0 enregistrements entrants
64+0 enregistrements sortants

<note> Consultez le manuel de dd pour comprendre les lignes de commande. Notez vos observations. </note>

ufsdump et ufsrestore

Les commandes ufsdump et ufsrestore se basent sur le format d'enregistrement des données ( UFS ). Pour cette raison il n'est pas possible de sauvegarder des répertoires à l'intérieur d'un système de fichiers mais uniquement des systèmes de fichiers complets.

Vous allez utiliser maintenant le logiciel ufsdump pour effectuer les sauvegardes et le logiciel ufsrestore pour effectuer vos restaurations.

Il convient d'abord de démonter la partition à sauvegarder :

# umount /export/home [Entrée]

Créez maintenant un lecteur de bande fictive avec la commande dd :

#dd if=/dev/zero of=/tape bs=1024k count=400 [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# dd if=/dev/zero of=/tape bs=1024k count=400
400+0 enregistrements entrants
400+0 enregistrements sortants

Sauvegardez votre système de fichiers avec la commande suivante :

# ufsdump -0uf /tape /dev/dsk/c0d0s7 [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ufsdump -0uf /tape /dev/dsk/c0d0s7
  DUMP: Date de ce vidage de niveau 0 : 27 août 2012 09:46:02 CEST
  DUMP: Date du dernier vidage de niveau 0 : l'époque
  DUMP: Vidage /dev/rdsk/c0d0s7 (unknown:/export/home) vers /tape.
  DUMP: Mappage (passe I) [fichiers standard]
  DUMP: Mappage (passe II) [répertoires]
  DUMP: Ecriture d'enregistrements de 32 kilo-octets
  DUMP: 706 blocs estimés (353KB).
  DUMP: Vidage (passe III) [répertoires]
  DUMP: Mappage (passe IV) [fichiers standard]
  DUMP: blocs 702 (351KB) sur 1 volume à 19500 Ko/s
  DUMP: VIDAGE TERMINE
  DUMP: Vidage de niveau 0 sur 27 août 2012 09:46:02 CEST

<note> Utilisez le manuel de ufsdump pour comprendre la ligne de commande et notez vos observations. </note>

Consultez le fichier dumpdates :

# cat /etc/dumpdates [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cat /etc/dumpdates
/dev/rdsk/c0d0s7                 0 Mon Aug 27 09:46:02 2012

Remontez votre système de fichiers /dev/dsk/c0d0s7 :

# mount /dev/dsk/c0d0s7 /export/home [Entrée]

Créez un fichier dans le répertoire /export/home :

# touch /export/home/dumptest [Entrée]

Démontez votre système de fichiers /export/home :

# umount /export/home [Entrée]

Créez de nouveau une sauvegarde de /dev/dsk/c0d0s7 :

# ufsdump -1uf - /dev/dsk/c0d0s7 > level1.dump [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ufsdump -1uf - /dev/dsk/c0d0s7 > level1.dump
  DUMP: Date de ce vidage de niveau 1 : 27 août 2012 09:48:47 CEST
  DUMP: Date du dernier vidage de niveau 0 : 27 août 2012 09:46:02 CEST
  DUMP: Vidage /dev/rdsk/c0d0s7 (unknown:/export/home) vers sortie standard.
  DUMP: Mappage (passe I) [fichiers standard]
  DUMP: Mappage (passe II) [répertoires]
  DUMP: Ecriture d'enregistrements de 32 kilo-octets
  DUMP: 588 blocs estimés (294KB).
  DUMP: Vidage (passe III) [répertoires]
  DUMP: Mappage (passe IV) [fichiers standard]
  DUMP: blocs 574 (287KB) sur 1 volume à 35875 Ko/s
  DUMP: VIDAGE TERMINE
  DUMP: Vidage de niveau 1 sur 27 août 2012 09:48:47 CEST

Consultez de nouveau le fichier dumpdates :

# cat /etc/dumpdates [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# cat /etc/dumpdates
/dev/rdsk/c0d0s7                 0 Mon Aug 27 09:46:02 2012
/dev/rdsk/c0d0s7                 1 Mon Aug 27 09:48:47 2012

Remontez votre système de fichiers /dev/dsk/c0d0s7 :

# mount /dev/dsk/c0d0s7 /export/home [Entrée]

Supprimez maintenant le contenu du répertoire /export/home :

# rm -rf /export/home/* [Entrée]

Contrôlez le contenu de votre dump sur /tape :

# ufsrestore -tvf /tape [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ufsrestore -tvf /tape
Vérifier le volume et initialiser les mappes
La taille de bloc du support est 126
Extraire les répertoires de la bande
initialiser la table des symboles
Date de vidage : 27 août 2012 09:46:02 CEST
Vidé de : l'époque
Vidage de niveau 0 de /export/home sur unknown:/dev/dsk/c0d0s7
Libellé : none
rép          2  .
rép          3  ./lost+found
rép          4  ./test
feuille         5       ./test/.profile
feuille         6       ./test/local.cshrc
feuille         7       ./test/local.login
feuille         8       ./test/local.profile
feuille        15       ./test/.sh_history
rép         26  ./test/formation
feuille        16       ./test/formation/f
feuille        17       ./test/formation/f.txt
feuille        18       ./test/formation/f123.txt
feuille        24       ./test/formation/f123123.txt
feuille        25       ./test/formation/f123123123.txt
rép          9  ./user2
feuille        10       ./user2/.profile
feuille        11       ./user2/local.cshrc
feuille        12       ./user2/local.login
feuille        13       ./user2/local.profile
rép         27  ./user3
feuille        28       ./user3/.profile
feuille        29       ./user3/local.cshrc
feuille        30       ./user3/local.login
feuille        31       ./user3/local.profile
rép         19  ./user1
feuille        20       ./user1/.profile
feuille        21       ./user1/local.cshrc
feuille        22       ./user1/local.login
feuille        23       ./user1/local.profile
feuille        14       ./user1/ventes.awk

<note> Notez que les fichiers sont sauvgardés avec des nom rélatifs. Le terme feuille indique un fichier. </note>

Positionnez-vous dans le répertoire /export/home et restaurez votre premier dump :

# cd /export/home [Entrée]
# ufsrestore -rvf /tape [Entrée]

A l'issu du processus vous obtiendrez un résultat similaire à celui-ci :

# ufsrestore -rvf /tape
Vérifier le volume et initialiser les mappes
La taille de bloc du support est 126
Date de vidage : 27 août 2012 09:46:02 CEST
Vidé de : l'époque
Vidage de niveau 0 de /export/home sur unknown:/dev/dsk/c0d0s7
Libellé : none
commencer la restauration de niveau 0
initialiser la table des symboles
Extraire les répertoires de la bande
Calculer la liste d'extraction.
Création du noeud ./lost+found
Création du noeud ./test
Création du noeud ./test/formation
Création du noeud ./user2
Création du noeud ./user3
Création du noeud ./user1
Extraire les nouvelles feuilles.
Contrôle de la restauration
extraire le fichier ./test/.profile
extraire le fichier ./test/local.cshrc
extraire le fichier ./test/local.login
extraire le fichier ./test/local.profile
extraire le fichier ./user2/.profile
extraire le fichier ./user2/local.cshrc
extraire le fichier ./user2/local.login
extraire le fichier ./user2/local.profile
extraire le fichier ./user1/ventes.awk
extraire le fichier ./test/.sh_history
extraire le fichier ./test/formation/f
extraire le fichier ./test/formation/f.txt
extraire le fichier ./test/formation/f123.txt
extraire le fichier ./user1/.profile
extraire le fichier ./user1/local.cshrc
extraire le fichier ./user1/local.login
extraire le fichier ./user1/local.profile
extraire le fichier ./test/formation/f123123.txt
extraire le fichier ./test/formation/f123123123.txt
extraire le fichier ./user3/.profile
extraire le fichier ./user3/local.cshrc
extraire le fichier ./user3/local.login
extraire le fichier ./user3/local.profile
Ajouter des liens
Définissez le mode , le propriétaire et l'heure du répertoire
Contrôler la table des symboles.
Contrôle de la restauration

Contrôlez le contenu de votre répertoire /export/home :

# ls -lR /export/home [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ls -lR /export/home
/export/home:
total 1674
drwx------   2 root     root         512 janv  3  2010 lost+found
-rw-------   1 root     root      840592 août 27 10:28 restoresymtable
drwxr-xr-x   3 test     other        512 août 22 14:50 test
drwxr-xr-x   2 user1    groupe1      512 août 17 11:30 user1
drwxr-xr-x   2 user2    groupe2      512 août 17 09:36 user2
drwxr-xr-x   2 user3    groupe3      512 août 27 09:41 user3

/export/home/lost+found:
total 0

/export/home/test:
total 8
drwxr-xr-x   2 test     other        512 août 22 14:50 formation
-rw-r--r--   1 test     other        136 août 16 11:51 local.cshrc
-rw-r--r--   1 test     other        157 août 16 11:51 local.login
-rw-r--r--   1 test     other        174 août 16 11:51 local.profile

/export/home/test/formation:
total 0
-rw-r--r--   1 test     other          0 août 22 14:47 f
-rw-r--r--   1 test     other          0 août 22 14:47 f.txt
-rw-r--r--   1 test     other          0 août 22 14:47 f123.txt
-rw-r--r--   1 test     other          0 août 22 14:47 f123123.txt
-rw-r--r--   1 test     other          0 août 22 14:47 f123123123.txt

/export/home/user1:
total 8
-rw-r--r--   1 user1    groupe1      136 août 17 09:36 local.cshrc
-rw-r--r--   1 user1    groupe1      157 août 17 09:36 local.login
-rw-r--r--   1 user1    groupe1      174 août 17 09:36 local.profile
-rw-r--r--   1 user1    groupe1      186 août 17 11:30 ventes.awk

/export/home/user2:
total 6
-rw-r--r--   1 user2    groupe2      136 août 17 09:36 local.cshrc
-rw-r--r--   1 user2    groupe2      157 août 17 09:36 local.login
-rw-r--r--   1 user2    groupe2      174 août 17 09:36 local.profile

/export/home/user3:
total 6
-rw-r--r--   1 user3    groupe3      136 août 27 09:41 local.cshrc
-rw-r--r--   1 user3    groupe3      157 août 27 09:41 local.login
-rw-r--r--   1 user3    groupe3      174 août 27 09:41 local.profile

Restaurez votre deuxième dump :

# ufsrestore -rvf /level1.dump [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# ufsrestore -rvf /level1.dump
Vérifier le volume et initialiser les mappes
La taille de bloc du support est 126
Date de vidage : 27 août 2012 09:48:47 CEST
Vidé de : 27 août 2012 09:46:02 CEST
Vidage de niveau 1 de /export/home sur unknown:/dev/dsk/c0d0s7
Libellé : none
commencer la restauration incrémentale
initialiser la table des symboles
Extraire les répertoires de la bande
Marquer les entrées à supprimer.
Calculer les mises à jour de noeud.
Recherche des noms non référencés.
Supprimer les anciens noeuds (répertoires)
Extraire les nouvelles feuilles.
Contrôle de la restauration
extraire le fichier ./dumptest
Ajouter des liens
Définissez le mode , le propriétaire et l'heure du répertoire
Contrôler la table des symboles.
Contrôle de la restauration

Contrôlez la présence de votre fichier /export/home/dumptest:*

#ls -l /export/home/dumptest [Entrée]

Vous devez obtenir un résultat similaire à celui-ci :

# ls -l /export/home/dumptest
-rw-r--r--   1 root     root           0 août 27 09:48 /export/home/dumptest

fssnap

La commande ufsdump permet de créer des sauvegardes stable puisque la partition est démontée au moment de son utilisation. L'inconvénient de ceci est la non-disponibilité du filesystem pendant la sauvegarde.

Solaris dispose de la commande fssnap qui permet de contourner cet inconvénient.

La commande fssnap crée un snapshot, autrement dit un cliché, d'un filesystem en générant un périphérique virtuel et un fichier image appelé backing store file.

Vous allez maintenant créer un snapshot du filesystem /export/home.

Supprimez d'abord /tape et level1.dump :

#cd /;rm -rf tape level1.dump [Entrée]

Ensuite créer un répertoire snapshots :

#mkdir snapshots [Entrée]

Créez le snapshot :

#fssnap -F ufs -o bs=/snapshots/home.snap /export/home [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# fssnap -F ufs -o bs=/snapshots/home.snap /export/home
/dev/fssnap/0

<note important> Notez que le système vous informe du nom du périphérique virtuel créé. </note>

Saisissez la commande suivante pour constater la présence du filesystem virtuel :

#df -h | grep snapshot [Entrée]

Utilisez l'option -i de fssnap pour connaître les snapshots disponibles :

#fssnap -i [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# fssnap -i
   0    /export/home

Plus de détails peuvent être obtenus en utilisant la commande suivante :

#/usr/lib/fs/ufs/fssnap -i /export/home [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# /usr/lib/fs/ufs/fssnap -i /export/home
Snapshot number               : 0
Block Device                  : /dev/fssnap/0
Raw Device                    : /dev/rfssnap/0
Mount point                   : /export/home
Device state                  : active
Backing store path            : /snapshots/home.snap
Backing store size            : 0 KB
Maximum backing store size    : Unlimited
Snapshot create time          : Wed Jun 18 19:07:09 2008
Copy-on-write granularity     : 32 KB

Créez un répertoire dans /mnt pour pouvoir monter le périphérique :

#mkdir /mnt/snapshot [Entrée]

Montez ensuite le périphérique :

#mount -F ufs -o ro /dev/fssnap/0 /mnt/snapshot [Entrée]

Vous pouvez maintenant naviguer dans le filesystem virtuel et sauvegarder les fichiers en utilisant la commande de sauvegarde de votre choix :

# cd /mnt/snapshot
# tar cf /fssnap.tar .

Pour supprimer un snapshot,il convient d'abord de le démonter :

#cd /;umount /mnt/snapshot [Entrée]

Ensuite utilisez la commande suivante :

#fssnap -d /export/home [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# fssnap -d /export/home
Deleted snapshot 0.

<note warning> Bien que le snapshot soit supprimé, le fichier du snap shot est toujours présent. </note>

Dernièrement, supprimez le fichier de snapshot :

#rm -rf /snapshots/home.snap [Entrée]

Compression

Afin de poursuivre, créez une archive dans un fichier de votre répertoire test:

#tar cvf /tmp/test.tar /test [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

# tar cvf /tmp/test.tar /test
a /test/ 0K
a /test/repY/ 0K
a /test/repY/Y1 1K
a /test/repY/Y2 0K
a /test/repY/Y3 0K
a /test/repZ/ 0K
a /test/repZ/Z1 1K
a /test/repZ/Z2 0K

Constatez la taille du fichier tar :

#cd /tmp; ls -l | grep test.tar [Entrée]

Vous obtiendrez un résutat similaire à celui-ci :

# cd /tmp; ls -l | grep test.tar
-rw-r--r--   1 root     root        6144 juin 19 20:40 test.tar

gzip

Utilisez gzip pour compresser votre fichier tar :

#gzip test.tar [Entrée]

Constatez la taille du fichier tar.gz :

#cd /tmp; ls -l | grep test.tar.gz [Entrée]

Vous obtiendrez un résutat similaire à celui-ci :

# cd /tmp; ls -l | grep test.tar.gz
-rw-r--r--   1 root     root         289 juin 19 20:40 test.tar.gz

<note> Notez la taille du fichier compressé. Où est le fichier tar ? </note>

Décompressez le fichier tar.gz :

#gunzip test.tar.gz [Entrée]

bzip2

Utilisez bzip2 pour compresser votre fichier tar :

#bzip2 test.tar [Entrée]

Constatez la taille du fichier tar.bz2 :

#cd /tmp; ls -l | grep test.tar.bz2 [Entrée]

Vous obtiendrez un résutat similaire à celui-ci :

# cd /tmp; ls -l | grep test.tar.bz2
-rw-r--r--   1 root     root         280 juin 19 20:40 test.tar.bz2

<note> Notez la taille du fichier compressé. Où est le fichier tar ? </note>

Décompressez le fichier tar.bz2 :

#bunzip2 test.tar.bz2 [Entrée]

pack

Utilisez pack pour compresser votre fichier tar :

#pack test.tar [Entrée]

Constatez la taille du fichier tar.z :

#cd /tmp; ls -l | grep test.tar.z [Entrée]

Vous obtiendrez un résutat similaire à celui-ci :

# cd /tmp; ls -l | grep test.tar.z
-rw-r--r--   1 root     root        1170 juin 19 20:40 test.tar.z

<note> Notez la taille du fichier compressé. Où est le fichier tar ? </note>

Décompressez le fichier tar.z :

#unpack test.tar.z [Entrée]

compress

Utilisez compress pour compresser votre fichier tar :

#compress -v test.tar [Entrée]

Constatez la taille du fichier tar.Z :

#cd /tmp; ls -l | grep test.tar.Z [Entrée]

Vous obtiendrez un résutat similaire à celui-ci :

# cd /tmp; ls -l | grep test.tar.Z
-rw-r--r--   1 root     root         545 juin 19 20:40 test.tar.Z

<note> Notez la taille du fichier compressé. Où est le fichier tar ? </note>

Décompressez le fichier tar.Z :

#uncompress test.tar.Z [Entrée]

<note> Lequel des quatre programmes compresse le mieux ? </note>

Références

~~DISCUSSION:off~~


<html> <center> Copyright © 2011-2015 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>. </center> </html>