Changeset 408


Ignore:
Timestamp:
01/19/11 16:55:43 (13 years ago)
Author:
mafoipsl
Message:

Add leap year treatment to check monthly files size.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/libIGCM_post/check_expe_files_size.sh

    r407 r408  
    232232           grep -E $px /tmp/$$.size | awk '{print $5}' | sort -u >/tmp/$$.$pattern.size_${mois} 
    233233           # On garde les infos s il n y a pas une taille unique 
    234            n=1 
    235234           for size in $(cat /tmp/$$.$pattern.size_${mois})  ; do 
    236                grep -E $px /tmp/$$.size | grep " "$size" " | tr "~" "/" >>/tmp/$$.$pattern.files.$n 
    237                n=$(( n + 1 )) 
     235               grep -E $px /tmp/$$.size | grep " "${size}" " | tr "~" "/" >>/tmp/$$.$pattern.files_${mois}.${size} 
    238236           done  
    239237       fi 
     
    256254                RESULT="$RESULT "  
    257255            else  
    258                 RESULT="$RESULT \033[1;31m[$mois]\033[m"  
    259                 cat  /tmp/$$.$pattern.size_${mois} >> /tmp/$$.synthese_size 
     256                # special case for february , we accept 2 different sizes for february for leap year 
     257                if [[ $i == 2 && $(wc -l /tmp/$$.$pattern.size_${mois} |  cut -d " " -f 1) = 2 ]] ; then 
     258                   # est ce qu il y a des mois de 29 jours? si non souci reel 
     259                   if [ $( grep 0229 /tmp/$$.$pattern.files_02.* 1>/dev/null 2>&1 ) ] ; then 
     260                       RESULT="$RESULT \033[1;31m[$mois]\033[m" 
     261                       cat  /tmp/$$.$pattern.size_${mois} >> /tmp/$$.synthese_size 
     262                   else 
     263                       RESULT="$RESULT " 
     264                   fi 
     265                else 
     266                   RESULT="$RESULT \033[1;31m[$mois]\033[m"  
     267                   cat  /tmp/$$.$pattern.size_${mois} >> /tmp/$$.synthese_size 
     268                fi 
    260269            fi 
    261270        done  
     
    266275# affichage des details 
    267276while read pattern ; do 
     277    first=0 
     278    i=1 
    268279    truepattern=$(echo $pattern | tr "~" "/") 
    269     [ -f /tmp/$$.$pattern.files.[02-9] ] && printf "Details %80s : \n" $truepattern  && cat /tmp/$$.$pattern.files.[02-9]* 
    270 done < /tmp/$$.lpat 
     280    while [ $i -le 12 ] ; do 
     281        mois=$(printf "%02d\n"  $i) 
     282        if [ $(echo $pattern | grep "YYmmdd_YYmmdd") ] ; then 
     283           # si on a plus de 2 tailles de fichiers pour ce mois, on liste le nombre de fichiers par taille et les 3 premiers 
     284           # cas special pour fevrier qui accepte 2 tailles differentes si 1 pour les 28 et l autre pour les 29 
     285           if [ $(wc -l /tmp/$$.$pattern.size_${mois} | cut -d " " -f 1) != 1 ] ; then 
     286               if  [[ $i == 2 && $(wc -l /tmp/$$.$pattern.size_${mois} |  cut -d " " -f 1) == 2 ]] ; then 
     287                   # est ce qu il y a des mois de 29 jours? sinon souci reel 
     288                   if [ $( grep 0229 /tmp/$$.$pattern.files_02* 1>/dev/null 2>&1 ) ] ; then  
     289                       if [[ ${first} == 0 ]] ; then printf "Details %73s : \n" $truepattern ; first=1 ; fi 
     290                       echo mois : ${mois} 
     291                       for size in $( cat /tmp/$$.$pattern.size_${mois} ) ; do 
     292                           head -1 /tmp/$$.$pattern.files_${mois}.${size} 
     293                       done 
     294                   fi 
     295               else 
     296                   if [[ ${first} == 0 ]] ; then printf "Details %73s : \n" $truepattern ; first=1 ; fi 
     297                   echo mois : ${mois}  
     298                   for size in $( cat /tmp/$$.$pattern.size_${mois} ) ; do 
     299                       head -1 /tmp/$$.$pattern.files_${mois}.${size} 
     300                   done 
     301               fi 
     302           fi 
     303       fi 
     304       i=$(( i + 1 )) 
     305    done 
     306done < /tmp/$$.lpat 
     307 
    271308 
    272309rep=$(wc -w /tmp/$$.synthese /tmp/$$.synthese_size | tail -1 | sed -e 's/total//' -e 's/ //g' ) 
Note: See TracChangeset for help on using the changeset viewer.