Shell-script commentéModifier les paramètres en rouge pour adapter cet exemple Supprimer
le caractère # pour
activer la commande qui commence par « #PBS » #!/bin/bash # fichier script shell # une ligne commençant par #PBS est une commande PBS # une ligne commençant par # est un commentaire # le shell utilisé par PBS pour interpréter # le fichier est bash #PBS -S /bin/bash # nom du job ici JobName (facultatif) # 15 caractères maximun #PBS -N JobName # par défaut, les flux "output" et "error" sont envoyés # dans des fichiers situés dans le répertoire de # travail et dont les noms sont : # job_name.osequence_number <- output # job_name.esequence_number <- error # où job_name est le nom du job et sequence_number et # le numéro du job qui est assigné lors de la soumission # On peut changer les noms par défaut en utilisant les # commandes suivantes : ##PBS -o stdout_file ##PBS -e stderr_file # Pour éviter d'avoir trop de fichiers, on peut # regrouper les flux "output et "error" dans un seul # fichier : #PBS -j oe # PBS peut envoyer des informations sur l'état du job # par email : # un simple caractère "n" (pas de mail) ##PBS -m n # un ou plusieurs caractères : # "a" envoi email si le job est avorté, # "b" envoi email lorsque le job débute # "e" envoi email lorsque le job se termine ##PBS -m abe ##PBS -m ae # l'adresse email est spécifiée par la commande ##PBS -M cros@iup.univ-evry.fr # ressources demandées : # 1 noeud : nodes=1 # 1 processeur par noeud : ppn=1 #PBS -l nodes=1:ppn=1 # PBS_O_WORKDIR correspond au répertoire où a été lancé # le script, affichage pour vérification : echo $PBS_O_WORKDIR # permet de connaître le nom ou numéro du noeud sur # lequel va s'effectuer le calcul nodes=`cat $PBS_NODEFILE` # création d'un répertoire temporaire (nommé «dossier» # par exemple) auquel on adosse l'ID ($PBS_JOBID) du job afin # de rendre unique ce répertoire. Ce répertoire est créé # sur le noeud de calcul en deux étapes : # 1- la variable WD va pointer sur le répertoire où # va s'effectuer le calcul sur le noeud export WD=/scratch/dossier$PBS_JOBID # 2- création du répertoire temporaire sur le noeud # de calcul mkdir $WD # copie des fichiers de données dans le répertoire de # calcul # rmq : rcp -r permet de copier un répertoire rcp $PBS_O_WORKDIR/test.dat $nodes:$WD # copie de l'exécutable dans le répertoire de calcul rcp $PBS_O_WORKDIR/test_seq $nodes:$WD # déplacement dans le répertoire de calcul cd $WD # lancement du calcul (commande «date» pour connaître # l'heure de début et de fin du calcul date ./test_seq date # la même chose mais avec redirection des impressions # dans un fichier date ./test_seq &> $WD/test.out2 date # récupération du fichier contenant les redirections # d'impression rcp $WD/test.out2 master0:$PBS_O_WORKDIR # récupération du résultat dans un répertoire sur # le frontal rcp $WD/test.out master0:$PBS_O_WORKDIR # le résultat peut être copié sur le serveur de fichiers rcp $WD/test.out master0:/data/cros # effacement du répertoire temporaire (dossier) sur le # noeud de calcul /bin/rm -r $WD |
|
|