Page suivante Page précédente Table des matières

2. Copier des fichiers en utilisant mirror

Auteur : Gerd Bavendiek

Avez vous un portable ? Et avez vous fréquemment besoin de copier des fichiers sur un autre système ? Utilisez mirror !

J'ai souvent besoin d'échanger des fichiers entre mon portable et d'autres systèmes, par exemple ma machine personnelle. On peut le faire facilement avec rdist (1).

J'ai écrit un petit script appelé mirror, qui contient simplement un appel à rdist mettant en place un petit Distfile utilisant la syntaxe shell suivante  :

rdist  -d PWD=`pwd` -f - << EOF
${PWD} -> mirror
        install -oyounger ${PWD};
        except_pat ( ~\\$ );
EOF

Ce n'est pas l'endroit pour discuter de la syntaxe de rdist de manière plus détaillée, donc, si vous voulez, regardez plutôt les pages de manuel. Les fichiers seront copiés sur l'hôte mirror. Bien sûr vous devez configurer /etc/hosts de façon appropriée.

Si je travaille sur un projet dont les fichiers se trouvent dans ~/wsp/pbd/os-tools, je peux simplement faire :

nana:/home/bav/wsp/pbd/os-tools> mirror
mirror: updating host mirror
mirror: /home/bav/wsp/pbd/os-tools/main-window.tcl: updating
mirror: /home/bav/wsp/pbd/os-tools/os-tools.tcl: updating
mirror: /home/bav/wsp/pbd/os-tools/popups.tcl: updating
mirror: updating of mirror finished

et mirror copiera les fichiers nouveaux ou modifiés dans un répertoire à l'identique sur l'autre noeud. Cela sera effectué récursivement. Les fichiers sur l'autre noeud, qui sont plus récents que ceux qui se trouvent sur le noeud où j'ai lancé mirror, seront indiqués, mais resteront intacts. Les fichiers de sauvegarde d'emacs ne seront pas copiés.

En utilisant l'option -verify, vous pouvez vérifier ce qui se passera sans réellement faire quoi que ce soit:

nana:/home/bav/wsp/pbd/os-tools> mirror -verify
mirror: updating host mirror
mirror: /home/bav/wsp/pbd/os-tools/os-tools.tcl: need to update
mirror: /home/bav/wsp/pbd/os-tools/popups.tcl: need to update
mirror: updating of mirror finished

L'option -f enlèvera les fichiers en trop sur le noeud mirror. C'est utile pour avoir un véritable miroir:

nana:/home/bav/wsp/pbd/os-tools> mirror -f
mirror: updating host mirror
mirror: lulu: /home/bav/wsp/pbd/os-tools/qqq: removed
mirror: lulu: /home/bav/wsp/pbd/os-tools/otto: removed
mirror: /home/bav/wsp/pbd/os-tools/main-window.tcl: updating
mirror: /home/bav/wsp/pbd/os-tools/popups.tcl: updating
mirror: updating of mirror finished

En plus d'établir un miroir sur un disque d'un autre système, mirror peut être utilisé avec une disquette, qui sera miroir du répertoire courant. On peut l'utiliser pour réaliser une sorte de sauvegarde rapide. Il n'y a pas d'avantage réel à utiliser rdist lorsque l'on travaille localement.

S'il y a suffisamment d'espace disponible, j'utilise cp avec les options -ruvp. Pour ce faire, appelez mirror avec l'option -floppy:

nana:/home/bav/wsp/pbd/os-tools> mirror -floppy
./main-window.tcl -> /floppy/./main-window.tcl
./os-tools.tcl -> /floppy/./os-tools.tcl
./popups.tcl -> /floppy/./popups.tcl

Comme avec rdsit, seul les nouveaux fichiers ou ceux modifiés sont copiés. Monter ou démonter le lecteur de disquette est réalisé par le script. Pour l'instant, il n'y a pas de méthode pour prendre en compte les fichiers en trop.

Dans le cas où cette idée vous séduit, vous pouvez trouvez mon utilitaire mirror ici mirror.script.html

----------------------------------------------------------------

Copyright 1998, Gerd Bavendiek Publié dans le numéro 24 de la Linux Gazette, janvier 1998

Adaptation française : Frédéric Gacquer (Neuronnexion gacquer@neuronnexion.fr)


Page suivante Page précédente Table des matières