= Manipulation de données grille = [[PageOutline]] == variable d'environnement == [[BR]]Avant toutes choses, vous allez créer votre répertoire personnel sur le SE du LPSC. Pour cela il est nécessaire de définir les variables d'environnement $DPNS_HOST et $DPNS_HOME {{{ [lambert@lpsc-ui ~]$ setenv DPNS_HOST lpsc-se-dpm-server.in2p3.fr [lambert@lpsc-ui ~]$ setenv DPNS_HOME /dpm/in2p3.fr/home/atlas/ }}} Créez ensuite votre répertoire personnel {{{ [lambert@lpsc-ui ~]$ dpns-mkdir flambert }}} Il doit apparaitre maintenant sous /dpm/in2p3.fr/home/atlas {{{ [lambert@lpsc-ui ~]$ dpns-ls ... atlasmcdisk ... flambert ... }}} Remarque: Les commandes dpns-* sont par analogie assez similaires aux commandes lfc-*. Elles ne sont à utiliser que pour "préparer" le SE lpsc-se-dpm-server.in2p3.fr ''--> Exercice: Créez Egalement un repertoire test sous votre repertoire perso'' == Copie de fichier == [[BR]]La copie d'un fichier local sur le SE se fait avec la commande lcg-cr (copy and register). Cette commande effectue la copie du fichier sur le SE et enregistre eventuellement un LFN dans le LFC. * '''lcg-cr''' [-l LFN] [-d SURL] srcFile {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-cr --vo atlas -l user.flambert.testfileLFN \ -d srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile \ file://atlas/lambert/TestGrid/user.flambert.testfile guid:67796c49-29ac-4831-838d-b5ffc389e846 }}} La commande retourne un ''GUID'' qui identifie le fichier de manière unique sur la grille.[[BR]] Remarque: Si vous ne disposer pas d'un LFC, vous devrez utiliser la commande '''lcg-cp''', par exemple: {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-cp --vo atlas \ file://atlas/lambert/TestGrid/user.flambert.testfile \ srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} ''-->Exercice: Créez votre fichier et copiez le sur le SE dans votre répertoire.''[[BR]] ''-->Exercice: Vérifiez que le fichier à bien été enregistré dans le LFC.'' == Identifiants d'un fichier == [[BR]]Une fois copier sur un SE et déclarer dans un LFC, un fichier peut être retrouvé avec plusieurs identifiants. * '''lcg-lg''' Obtenir le GUID à partir du LFN {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-lg lfn:user.flambert.testfileLFN guid:67796c49-29ac-4831-838d-b5ffc389e846 }}} * '''lcg-la''' Obtenir le LFN à partir du GUID {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-la guid:67796c49-29ac-4831-838d-b5ffc389e846 lfn:/grid/atlas/users/user.FabianLambert/user.flambert.testfileLFN }}} * '''lcg-lr''' Obtenir la SURL à partir du LFN {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-lr lfn:user.flambert.testfileLFN srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} * '''lcg-gt''' Obtenir la TURL à partir de la SURL {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-gt srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile gsiftp gsiftp://lpsc-se-dpm-server.in2p3.fr/lpsc-se-dpm-server.in2p3.fr:/data2/atlas/2008-05-22/user.flambert.testfile.89643.0 89650 0 }}} ''--> Exercice : Testez les commandes précédentes sur votre fichier en essayant plusieurs options'' == Récupérer un fichier == [[BR]]Un fichier copié sur un SE peut être récupéré en local. * '''lcg-cp''' srcFile destFile {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-cp --vo atlas lfn:user.flambert.testfileLFN file://atlas/lambert/TestGrid/user.flambert.testfileRecup [lambert@lpsc-ui ~/TestGrid]$ ls user.flambert.testfile user.flambert.testfileRecup }}} ''--> Exercice : Récuperez votre fichier en local depuis le SE en utilisant successivement un GUID, une SURL, une TURL'' == Répliquer un fichier == [[BR]] Un fichier peut-être répliquer d'un SE à un autre SE.[[BR]]Remarque : Dans l'exemple suivant le SE de destination est le même que le SE source, ceci afin d'éviter des problèmes de droits sur les fichiers dans le LFC.[[BR]]A ce titre, si vous voulez récupérer des vraies données sur votre compte personnel sur le SE, préférez un lcg-cp suivi d'un lcg-cr. * '''lcg-rep''' [-d destFile] srcFile * Le fichier est répliqué sur le SE. {{{ [lambert@lpsc-ui ~]$ lcg-rep --vo atlas -d srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/testdir/user.flambert.testfileReplica lfn:user.flambert.testfileLFN [lambert@lpsc-ui ~]$ dpns-ls testdir user.flambert.testfileReplica }}} * Aucun alias (LFN) n'est crée pour ce nouveau fichier... {{{ [lambert@lpsc-ui ~]$ lfc-ls testdir }}} * ... par contre l'alias pointe maintenant sur deux réplications du fichier {{{ [lambert@lpsc-ui ~]$ lcg-lr lfn:user.flambert.testfileLFN srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/testdir/user.flambert.testfileReplica srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} ''--> Exercice : Répliquez votre fichier sur le SE du LPSC en utilisant successivement son GUID'' == Effacer un fichier == [[BR]]lcg-del est une commande puissante qui doit être manié avec précaution. Elle permet d'effacer un replica d'un SE, ou tous les replicas d'un SE, ou encore tous les replicas connus sur la grille ! * Effacer un replica (et un seul...) d'un SE {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-del --vo atlas --se lpsc-se-dpm-server.in2p3.fr srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/testdir/user.flambert.testfileReplica [lambert@lpsc-ui ~/TestGrid]$ lcg-lr lfn:user.flambert.testfileLFN srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} * Effacer tous les replicas (fichier initial compris) d'un SE[[BR]]Remarque: l'alias est également supprimé du LFC. {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-del --vo atlas --se lpsc-se-dpm-server.in2p3.fr lfn:user.flambert.testfileLFN [lambert@lpsc-ui ~/TestGrid]$ lfc-ls }}} * Effacer tous les replicas de la grille[[BR]] {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-del --vo atlas -a lfn:user.flambert.testfileLFN [lambert@lpsc-ui ~/TestGrid]$ lfc-ls }}} ''--> Exercice : Effacez votre réplica et vérifiez que votre fichier a bien été effacé du SE'' == Autres commandes == [[BR]]D'autres commandes lcg-* existent. Vous pouvez obtenir une aide avec la commande man. {{{ lcg-aa lcg-getturls lcg-job-monitor lcg-lr lcg-rep lcg-tags lcg-cp lcg-gt lcg-job-status lcg-ls lcg-replica-manager lcg-uf lcg-cr lcg-info lcg-la lcg-ManageVOTag lcg-rf lcg-del lcg-infosites lcg-lg lcg-ra lcg-sd }}} [wiki:dataMgt up] ; [wiki:lfcTuto previous]; [wiki:amiUse next]