Ignore:
Timestamp:
07/19/12 16:02:21 (12 years ago)
Author:
aclsce
Message:

Modifications done by Guillaume P :

  • error handling for the whole script
  • check of nco version
  • restart tool for list script
  • progress visualization for both scripts
  • "force" option -f added for both scripts
  • timing information added for pack script
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TOOLS/PACK_IPSL/find_directory_simul.sh

    r1717 r1822  
    11#!/bin/bash 
    2  
     2# set -vx # gpdebug : a virer ######## 
    33# prend en argument le path et le nom d'un fichier param (argument de la commande 
    44# ccc_archive avec option ipsl_pack)  
     
    2323SCRIPT_NAME=$(basename ${0} ) 
    2424source ${EXE_DIR}/DEM_utilities.sh 
     25 
     26# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     27MonitoringInfo="${SCRIPT_NAME}-->OK" 
     28generalMonitoring "$MonitoringInfo" 
     29 
    2530DEM_log -0 "Demmarrage de ${SCRIPT_NAME}" 
     31 
    2632cd ${JOB_DIR} 
    2733# ---- 
     34# gpdebug : Execute la function errorReceive() si reception d'un signal TERM 
     35trap 'DEM_errorReceive' TERM ######## 
     36 
     37# gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc 
     38export listPID="$$ ${listPID}" ######### 
    2839 
    2940LISTE_SIMUL=${1} 
     
    3243LISTE_SIMUL_NAME=$(basename ${LISTE_SIMUL} ) 
    3344 
    34  
     45echo "gpdebug : ${IGCM_TMP}/${$}.liste_Restart.txt" # gpdebug : a virer  ####### 
    3546 
    3647# Pour tous les fichiers ou repertoires contenus dans le fichier de parametres  
    3748for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do  
    3849    DEM_log -1 ${SCRIPT_NAME} - Inspection de ${DIR}"/" 
    39     # trouve la liste des répertoires restart sous l'arborescence 
    40     grep ${DIR}"/" ${LISTE_DMNFS} | grep Restart | awk '{print $3}' | sed 's%/Restart.*%%'  >> ${IGCM_TMP}/${$}.liste_Restart.txt 
     50    # trouve la liste des repertoires restart sous l'arborescence     
     51     
     52    # grep ${DIR}"/" ${LISTE_DMNFS} | grep Restart | awk '{print $3}' | sed 's%/Restart.*%%'  >> ${IGCM_TMP}/${$}.liste_Restart.txt # gpdebug : suppr 
     53     
     54    # gpdebug : s'il n'y a pas de rep Restart, on saute ############################################################################### 
     55    listRestart=`grep ${DIR}"/" ${LISTE_DMNFS} | grep Restart | awk '{print $3}' | sed 's%/Restart.*%%' ` 
     56    # arnaud : on teste si il y a des fichiers dans les repertoires Restart 
     57    nb_restart_non_vide=0 
     58    for irestart in $listRestart 
     59    do 
     60        if [ `find $irestart/Restart -type f | wc -l` -ne 0 ] ; 
     61        then 
     62            ((  nb_restart_non_vide = nb_restart_non_vide + 1 )) 
     63            continue 
     64        fi 
     65    done 
     66     
     67    if ( [ "x${listRestart}" == "x" ] || [ $nb_restart_non_vide -eq 0 ] ) ; 
     68    then 
     69        # DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Pas de Repertoire Restart dans ${DIR}" "${$}" # gpdebug : a virer ######## 
     70        echo "########## Attention :" 
     71        echo "${SCRIPT_NAME}:${LINENO}:Pas de Repertoire Restart ou de fichiers Restart dans ${DIR}" 
     72        continue 
     73    fi 
     74    echo "${listRestart}" >> ${IGCM_TMP}/${$}.liste_Restart.txt 
     75    # gpdebug : fin #########################################################################################################################     
     76done 
     77# DEM_errorSend "${SCRIPT_NAME}:${LINENO}:On arrete expres !" $$ # gpdebug : a virer ######## 
    4178 
    42 done 
     79# Pour le cas ou aucune simu n aurait ete detectee 
     80if [ -e  ${IGCM_TMP}/${$}.liste_Restart.txt ] 
     81then 
     82   listRestartNbLines=`cat ${IGCM_TMP}/${$}.liste_Restart.txt | wc -l ` 
     83   if [ "x${listRestartNbLines}" == "x0" ] 
     84   then 
     85      DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Il n existe aucune simulation !" # "${$}" 
     86   fi 
     87else 
     88   DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Il n existe aucune simulation !" # "${$}" 
     89fi 
     90 
     91 
    4392  
    4493# On cherche le path (deux crans au dessus des repertoires Restart)  
     
    67116rm -f liste_simul_${LISTE_SIMUL_NAME} 
    68117 
     118# gpdebug : envoi du nombre de simu dans un "nbSimu.txt" du rep de suivi 
     119echo `cat ${IGCM_DEM}/liste_simul_${LISTE_SIMUL_NAME} | wc -l ` > $nbSimuFile 
     120 
    69121DEM_log -1 "Fichier cree : liste_simul_${LISTE_SIMUL_NAME}" 
     122 
    70123 
    71124[[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.path_simul.txt 
    72125[[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.liste_Restart.txt 
    73126 
     127# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     128echo $MonitoringInfo >> $generalMonitorFile 
     129 
    74130DEM_log -0 "Fin de ${SCRIPT_NAME}" 
Note: See TracChangeset for help on using the changeset viewer.