Créer des sauvegardes du système grâce à zip
Zip n'est pas le seul mécanisme disponible sous BeOS pour créer des
sauvegardes du système (BeB, par exemple, est un outil de création
de sauvegardes complet et bien plus simple à utiliser), mais zip offre quelques
possibilités assez puissantes... une fois que vous apprenez ses options en ligne
de commande.
Si vous utilisez BeOS R4.1 ou une version plus récente, zip devrait
déjà être installé sur votre système. La dernière
version peut toujoursêtre téléchargée depuis BeBits.
Remarques générales sur les sauvegardes
Etant donné que les sauvegardes peuvent prendre beaucoup de temps, planifiez les
choses avant de commencer pour ne pas avoir à relancer la sauvegarde plusieurs fois
pour obtenir le bon résultat.
Par exemple, vous aurez peut-être juste envie de sauvegarder votre dossier
home, et laisser de côté le reste du système, en partant du principe
que vous pourrez toujours installer le système et les applications facilement.
Vous pourriez aussi vouloir créer certaines archives à partir de
requêtes système. Ou vous pourriez vouloir tout sauvegarder sauf les fichiers
images et fichiers sons. Vous pourriez vouloir ou ne pas vouloir que vos sauvegardes
incluent les cibles des liens symboliques.
Cela peut beaucoup aider d'avoir plusieurs partitions BFS, si vous pouvez vous offrir
la place. C'est pratique, par exemple, d'avoir une partition dédiée aux
fichiers multimédia, où vous pouvez garder vos images, films et musiques.
Vous pouvez créer des liens vers ces dossiers des autres partitions depuis votre
dossier "home" pour un accès facile.
Bien sûr, cela va sans dire qu'une sauvegarde ne sert à rien si vous ne
l'enregistrez pas sur un autre disque dur physique (au moins). Mieux encore,
enregistrez-la sur une autre machine, sur votre serveur web, un CD ou encore une cartouche
de sauvegarde que vous pouvez stocker hors de vos locaux, en cas d'incendie ou
d'inondation.
Syntaxe de Base
La syntaxe de base de zip est zip fichier-sortie fichier-entrée,
où fichier-entrée est généralement le nom d'un
dossier. L'extension .zip sera automatiquement ajoutée au nom du
fichier-sortie (qui est le fichier créé pour la sauvegarde).
Donc, si vous êtes dans le dossier /boot/home et que vous voulez sauvegarder votre
dossier /boot/home/écrits, vous pouvez saisir:
zip écrits écrits
Cela créerait dans le dossier /boot/home un fichier appelé
écrits.zip et qui contiendrait le contenu du dossier /boot/home/écrits.
Inclure les sous-dossiers
Bien sûr, la plupart du temps vous voudrez que vos fichiers zips intégrent
toute l'arborescence des sous-dossiers. Vous devrez pour cela ajouter l'option
-r, qui signifie "recursif" ("recurse") à la commande, e.g.:
zip -r /boot/home/sauvegarde_courriel /boot/home/courriel
Ceci intégrera la totalité de votre dossier courriel et de ses
sous-dossiers.
Lorsque vous décompresserez l'archive plus tard, la structure de sous-dossiers
sera intégralement respectée, et si besoin recréée.
Exclure et ignorer certains fichiers
Vous pourriez penser que certains fichier sont trop gros pour être
sauvegardés, et/ou qu'ils ne sont pas si importants, et/ou qu'ils ne valent pas
l'espace qu'ils occupent. Dites à zip de les ignorer grâce à l'option
-x. e.g.:
zip -r quelques_images images -x "*tga" "*tif*"
Ceci intégrera le dossier images et ses sous-dossiers et sauvegardera tout ce
qui s'y trouve excepté les fichiers dont le nom se termine en "tga" ou contient
"tif".
Remarquez les guillemets autour des motifs de noms à ignorer - sans eux zip
ignorerait uniquement les fichiers de ce type qui sont dans le dossier actuel.
Ainsi, vous pourriez sauvegarder toutes vos images gif, jpeg ou png mais pas vos
images targa et tiff traditionnellement plus grosses. Vous pouvez aussi exclure ainsi des
formats sonores répandus, ou d'autres fichiers zip.
Inclure uniquement certains fichiers
C'est l'option opposée de la précédente, -i au lieu de
-x, qui forcera zip à sauvegarder uniquement les fichiers que vous
indiquez. Par exemple, si vous voulez sauvegarder dans votre site web uniquement vos
fichiers de texte (HTML) et pas vos images, vous pourriez utiliser:
zip -r sauvegarde_site /boot/home/monsite -i "*html"
Déréferencer les liens symboliques
Si vous utilisez des liens symboliques, vous pourriez avoir quelques problèmes
si vous autorisez zip à suivre ces liens -- vous pourriez sauvegarder beaucoup plus
de choses que ce que vous voulez. Pour sauvegarder les liens symboliques et non ce sur
quoi ils pointent, utilisez l'option -y:
zip -yr sauv_image images
Cette commande sauvegardera tout le contenu de votre dossier images, mais ne
suivra par les liens qui sont dedans. e.g. vous pourriez stocker vos targas sur une autre
partition et y accéder par un lien symbolique placé dans le dossier images.
Sans cette option les images targa seraient enregistrées, avec cette option seul
le lien est enregistré, et lorsque vous décompresserez l'archive, le lien
sera recréé.
Utiliser la compression la plus forte
Si vous voulez être sûr que votre archive zip soit la plus petite possible,
utilisez l'option -9 pour demander à zip d'utiliser la compression la plus
forte. Cela ralentira le fonctionnement de zip, mais les machines d'aujourd'hui sont
rapides; la plupart du temps cela vaut vraiment le coup.
En résumé, un bon ensemble d'options à utiliser peut être
celui-ci:
zip -9ry fichier-sortie fichiers-entrée
Demandez à zip d'utiliser le résultat d'une autre commande
Il est possible de réutiliser (pipe) la sortie d'une commande pour les noms de
fichiers-entrée de zip en utilisant l'option -@. Par exemple:
ls | zip fichiertest -@
exécuterait ls (lister les fichiers) sur le dossier courant
et sauvegarderait tous les fichiers ainsi listés. Attendez -- cela peut se
révéler infiniment pratique, car vous pouvez ainsi réutiliser le
résultat d'une recherche ou d'une requête lancées avec les commandes
query ou find pour sauvegarder uniquement les fichiers qui respectent un
certain nombre de critères (lisez l'astuce Requêtes depuis le Terminal si nécessaire, pour
apprendre à manipuler cet outil ultra-puissant et pouvoir le combiner avec zip).
Par exemple, la commande suivante va archiver tous vos messages BeMail qui ont le
statut "Envoyé" ("Sent") et qui ont été écrits après
le 1er août. Saisissez cette commande sans retour à la ligne:
query "(((MAIL:status=="*[sS][eE][nN][tT]*")&& (last_modified<=901954800))&& (BEOS:TYPE=="text/x-email"))" | zip -r /boot/home/courriel.sortant.01-08-1998.zip -@
Mettre à jour une sauvegarde
Une option qui concerne plus particulièrement les sauvegardes est l'option
-u, qui est utilisée pour mettre à jour (update) une archive avec
uniquement les nouveaux fichiers ou les fichiers qui ont été modifiés
depuis la création ou la dernière mise à jour de l'archive.
Cette option offre l'équivalent d'une "sauvegarde incrémentale". Dans un des
exemples ci-dessus, on a utilisé la commande ls | zip fichiertest -@ pour
simplement sauvegarder tous les fichiers du dossier actuel dans un nouveau fichier
appelé fichiertest.zip. Maintenant disons que vous avez créé un
nouveau fichier dans ce dossier et que vous en avez modifié un autre. Si vous
saisissez:
ls | zip -u fichiertest -@
alors zip ajoutera le nouveau fichier à votre sauvegarde fichiertest.zip et
mettra à jour dans la sauvegarde le fichier que vous avez modifié. Remarquez
qu'il est impératif que la sauvegarde fichiertest.zip existe déjà
(elle ne sera pas créée).
Ajouter un commentaire à votre sauvegarde
Si vous voulez inclure une annotation dans votre sauvegarde, utilisez l'option
-z.
Par exemple, vous pourriez ne pas toucher à votre sauvegarde pendant un an, et
vouloir vous rappeler quand vous la rouvrirez qu'elle ne contenait aucune image targa.
Saisissez:
zip -r -z sauv_image images -x "*tga"
Une fois la compression achevée, vous serez invité à saisir votre
message -- il peut être aussi long que vous le voulez. Quand vous avez fini,
faites un retour à la ligne, et saisissez uniquement un point, puis faites de
nouveau un retour à la ligne.
Ouvrez le fichier avec Expander (en double-cliquant dessus) et cliquez sur "Show Contents",
les premières lignes affichées contiennent votre commentaire.
De façon similaire, si vous décompressez votre sauvegarde depuis le Terminal,
la première ligne affichée au moment de la décompression sera votre
commentaire (Expander ne fait qu'afficher dans une fenêtre ce que les outils en
ligne de commande affichent dans le Terminal).
Ajouter des fichiers dans une archive
Pour ajouter des fichiers à une archive existante, utilisez l'option -u (comme
pour une mise à jour) pour ajouter les fichiers qui ont été
modifiés ou qui sont nouveaux. Pour ajouter uniquement les fichiers qui ont
été modifiés et ignorer ceux qui sont nouveaux, utilisez l'option
-f (pour "freshen", rafraîchir).
Les options de Unzip
Vous aurez sans doute envie de découvrir aussi les options de unzip (pour
décompresser vos sauvegardes), pour pouvoir récupérer vos sauvegardes
proprement, sans écraser de données. Vous pouvez bien sûr avoir une
liste de toutes les options en saisissant unzip --help, mais voici les plus
importantes:
Tester l'integrité d'une sauvegarde: unzip -t nomdefichier.zip
Afficher le contenu de la sauvegarde: unzip -z nomdefichier.zip
Exclure certains fichiers: unzip -x "*tga" "*mp3" (cela extraiera tout de la
sauvegarde, sauf les musiques mp3 et les images targa).
Inclure seulement certains fichiers: unzip -C nomdefichier.zip \*html\*
(Cela extraiera seulement les fichiers dont le nom contient "html"; remarquez que les
astérisques sont précédées d'un caractère
d'échappement pour que l'interpréteur de commandes ne les confonde pas avec
autres chose).
Plus d'info
Aussi bien zip que unzip disposent de quantité d'autres options, dont vous
pouvez obtenir la liste complète en saisissant zip --help et
unzip --help.
Read this Tip in English here
Hier findest Du den Tip in Deutsch
Cette astuce est une contribution de Scot Hacker.
Site de l'auteur de cette astuce: http://www.birdhouse.org/beos/bible/.
Astuce traduite par: BeTrayer (Jean Schwerer).
Traduction
Française du Serveur BeTips © 2000 BeTrayer et équipe
|