Le Sun, 15 Dec 2002 11:07:48 -0400, jipe a écrit :

> pas forcément besoin. ls -t doit te permettre de faire ça sans chercher
> à modifier le format de date. à moins que tu ais besoin d'une précision

Evidemment, expliqué comme ça ! :-)

> à la seconde. mais à la minute, c'est suffisant. le fichier d'origine
> est $orig et le fichier cible $CIBLE si j'ai bien lu ton script. au

C'est celà.

> besoin, quote ce qui suit.
> 
> RANG=($(ls -t {$orig,$CIBLE}))

Déjà, je ne connaissais pas cet usage de ls. Je n'aurais jamais pensé à
lui faire lister des dossiers de répertoires différents :-O
Encore une astuce à retenir.
Quand est-ce que tu nous fais un bouquin (site) : "les astuces du bash" ?
Parce qu'en fait, en ce qui me concerne, je lis le man, pas mal de docs,
mais jamais je ne trouverai ça dedans alors soit j'attends de les
inventer moi même (quelques années de délais), soit je les trouve
récapitulées quelque part (ailleurs que dans ma mémoire très volatile
avec l'age qui avance) où je vais chercher dès que j'ai un truc à faire.
:-)

> ${RANG[0]} est le fichier le plus récent
> ${RANG[1]} est donc le plus ancien

L'astuce des tableaux.

> un cp -a ${RANG[0]} ${RANG[1]} remplacera le plus ancien par le plus récent

Ben oui !
Et ça peut donc servir (pas dans mon cas mais pour plus tard) à
synchroniser réellement et complètement 2 répertoires en copiant le plus
récent sur le plus ancien.
Je le garde donc au chaud celui-là ! :-)

> si seulement $orig doit remplacer $CIBLE ->
> if [ ${RANG[0]} = $orig ]; then cp -a $orig $CIBLE; fi

C'est parfait !
C'est tout bon.
J'ai même rajouté une option "-a" en ligne de commande pour activer
l'ajout de fichiers inexistants qui ne se fait pas par défaut
(volontairement).

Le seul tout petit défaut que j'ai, c'est que le traitement des
majuscules/minuscules n'est plus correct quand je n'ai pas la même
arborescence initiale et qu'un des 2 chemins contient un espace.
Je m'explique :
Quand j'ai dit que j'avais la même arborescence, ce n'est vrai qu'à
partir du répertoire que j'indique, lui non compris.
Par exemple :
SYNCSRC="/le/chemin/source/avec/un espace"
SYNCCIB="/le/chemin/cible/sans/espace"
par contre, au dessous de chacun, j'aurai bien strictement la même
arborescence ./rep1/rep11 etc...

Suis-je clair ?

> have plein de fun :)

Oh, je dois avouer qu'avec Linux, depuis quelques petits mois, j'ai passé
un paquet de nuits blanches après mes 10aines d'années sous Windows.
J'ai pesté bon nombre de fois.
Rien ne fonctionne jamais comme dans les docs du premier coup avec moi
(pourtant, je les suis bien à la lettre la première fois).

Mais franchement, quel pied quand ça tourne !
Et quelle stabilité par la suite !

Des logiciels serveurs comme postfix, inn, hylafax... qui m'ont pris des
plombes pour fonctionner correctement arrivent par la suite à se faire
complètement oublier. Et quoi qu'on fasse d'autre sur la machine (à part
reformatage bien sur :-) ), ils tournent toujours comme au premier jour.

C'est un vrai régal, et c'est ce que je retiens comme plus grande qualité
à Linux, quand on sait ce que peut devenir un système windows après
quelques jours/semaines d'utilisation sans aucune modif "volontaire" de
configuration :-))

> si seul

Pourquoi seul ?
Seul voyant au pays de tous ces aveugles que nous sommes ? 

-- 
Christophe PEREZ

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Reply via email to