#!/bin/csh ####################################################################################################################################### # # # R E N V O I A L A M A C H I N E D E R E F E R E N C E D ' U N F I C H I E R : # # # # # # Utilisation : # # # # $xcg/unite$Z <nom_absolu_de_fichier> [<attendre> [<detruire> [<mRef> [<uRef> [<ModeD> [<ModeF>]]]]]] # # # # ou : # # # # $xcg/unite$Z "<fA_absolu> <fR_absolu>" [<attendre> [<detruire> [<mRef> [<uRef> [<ModeD> [<ModeF>]]]]]] # # $xcg/unite$Z "<fA_absolu> <fR_absolu>" [<attendre> [<detruire> [<mRef> [<uRef> ["<ModeD>" ["<ModeF>"]]]]]] # # # # # # ATTENTION : # # # # Le mode du fichier que l'on transmet ne # # sera conserve sur la machine de REFERENCE # # que s'il n'y existait pas deja. Ainsi donc, # # pour transmettre le fichier avec son mode, il # # convient de detruire celui-ci au prealable sur # # la machine de REFERENCE (par 'delete'), s'il # # existait deja. # # # # On notera enfin, que s'il etait en mode 'ro' # # sur la machine de REFERENCE, la commande courante # # '$xcg/unite$Z' se met en attente ; le deblocage a # # lieu si : # # # # 1-soit le fichier est mis en mode 'rw' sur la machine # # de REFERENCE (auquel cas, la nouvelle version sera aussi # # en mode 'rw', et le mode n'est pas transmis, sauf s'il # # etait deja en mode 'rw' sur la machine locale qui execute # # la commande '$xcg/unite$Z'...), # # # # 2-soit le fichier est detruit (par 'delete', et alors # # le mode est transmis...). # # # # # # Author of '$xcg/unite$Z' : # # # # Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). # # # ####################################################################################################################################### set Fichiers=($1) #20180205133056____:if ($vCOMPUTERd == $mHOTE) then # #20181101141033____:if ($EXIST) then # # Test introduit le 20160610110059 a cause des "fausses MACHINEs" de type '$CMAP28'... # # # # Grace a 'v $xarm/LACT19$D/etc/init.d/iptables porte-brancion' (par exemple...), la # # modification du 20180205133056 a ete rendue possible... # #20181101141033____: set Attendre=$2 # #20181101141033____: set Detruire=$3 # #20181101141033____: set mReference=$4 # #20181101141033____: set uReference=$5 # #20181101141033____: set ModeDirectory=($6) # #20181101141033____: set ModeFichierR=($7) # #20181101141033____: if ("$mReference" == "$K_VIDE") then # #20181101141033____: set mReference=$mREFERENCE # # La machine de REFERENCE par defaut est evidemment '$mREFERENCE'... # #20181101141033____: else # #20181101141033____: endif # #20181101141033____: if ("$uReference" == "$K_VIDE") then # #20181101141033____: set uReference=$uREFERENCE # # L'utilisateur de REFERENCE par defaut est evidemment '$uREFERENCE'... # #20181101141033____: else # #20181101141033____: endif # #20181101141033____: source $Falias_unite_1 # # Execution de l'unite... # #20181101141033____:else # #20181101141033____: EROR "Il ne peut y avoir d'unite du(des) fichier(s) '$Fichiers' sur '$vCOMPUTERd'." # # En effet, en general, les filtres sur les adresses 'IP' empechent cela... # #20181101141033____:endif # unite $Fichiers # Mis sous cette forme "apauvrie" le 20181101141033 afin de ne pas provoquer de blocage # # ou de delais lors de calculs faisant reference a ce 'v $xcg/unite$Z', alors que # # '$mREFERENCE' n'est pas accessible... Cela s'est vu aux environs de cette date lors du # # calcul des images du type 'v $xiirk/REFM.e3.21' par exemple dans # # 'v $xivP_d09_f2/.REFL.y.11.$U .xcg.unite.Z' ou encore dans # # 'v $xivP_d09_f2/.REFL.y.12.$U .xcg.unite.Z'... #