Changeset 2045
- Timestamp:
- 04/05/13 17:34:38 (12 years ago)
- Location:
- TOOLS/PACK_IPSL
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TOOLS/PACK_IPSL/archive_debug.sh
r2027 r2045 95 95 96 96 ls -l ${STORE_DEBUG} > ${IGCM_TMP}/${$}.new_liste_debug_files.txt 97 98 99 #creation des listes en fonction des suffixes 100 if [ "x${ON_IDRIS}" == "xno" ] 101 then 102 awk '{if (NR >1) print $9}' ${IGCM_TMP}/${$}.new_liste_debug_files.txt > ${IGCM_TMP}/${$}.new_liste_debug_files.txt_tmp 103 else 104 awk '{if (NR >1) print $8}' ${IGCM_TMP}/${$}.new_liste_debug_files.txt > ${IGCM_TMP}/${$}.new_liste_debug_files.txt_tmp 105 fi 106 sort ${IGCM_TMP}/${$}.new_liste_debug_files.txt_tmp > ${IGCM_TMP}/${$}.order_new_liste_debug_files.txt 107 ref=`awk -F_ '{if (NR==1) print $1}' ${IGCM_TMP}/${$}.order_new_liste_debug_files.txt` 108 109 110 111 i=1 112 for new_file in `awk '{print $0}' ${IGCM_TMP}/${$}.order_new_liste_debug_files.txt`; do 113 new_ref=$( echo ${new_file} | sed -e "s/_.*//") 114 115 if [ ${new_ref} == ${ref} ]; then 116 echo ${new_file} >> ${IGCM_TMP}/${$}.debug_list_${i}.txt 117 else 118 ref=${new_ref} 119 (( i = $i + 1 )) 120 echo ${new_file} >> ${IGCM_TMP}/${$}.debug_list_${i}.txt 121 fi 122 done 123 124 j=1 125 while [[ $j -le $i ]]; do 126 127 97 128 ### 2- creer les listes de fichiers par periode #### 98 129 DEM_log -1 "Creation des listes de fichiers par periode" … … 100 131 date_begin=${DateBegin} 101 132 date_end=${DateEnd} 102 133 103 134 year_begin=$(echo ${date_begin} | cut -c 1-4 ) 104 135 month_begin=$(echo ${date_begin} | cut -c 5-6 ) … … 122 153 month_end_pack=${month_begin_pack} 123 154 year_end_pack=`expr ${year_begin_pack} + ${period_pack}` 124 155 125 156 date_end_pack=${year_end_pack}${month_end_pack}01 126 if [ "x${ON_IDRIS}" == "xno" ]127 then128 for file in `awk '{print $9}' ${IGCM_TMP}/${$}.new_liste_debug_files.txt`; do129 extract_date_file=`echo ${file} | sed -e "s/.*\${JobName}_//"`130 date_file=`echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g'`131 if [[ "x${date_file}" != "x" && ! -n ${date_file//[0-9]/} ]]; then132 if [ ${date_file} -lt ${date_end_pack} ]157 for file in `awk '{print $1}' ${IGCM_TMP}/${$}.debug_list_${j}.txt`; do 158 extract_date_file=`echo ${file} | sed -e "s/.*\${JobName}_//"` 159 date_file=`echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g'` 160 if [[ "x${date_file}" != "x" && ! -n ${date_file//[0-9]/} ]]; then 161 if [ ${date_file} -lt ${date_end_pack} ] 162 then 163 if [ ${date_file} -ge ${date_begin_pack} ] 133 164 then 134 if [ ${date_file} -ge ${date_begin_pack} ] 135 then 136 echo ${file} >> ${IGCM_TMP}/${$}.liste_pack_debug_${number_pack}.txt 137 fi 138 fi 139 fi 140 done 141 else 142 for file in `awk '{print $8}' ${IGCM_TMP}/${$}.new_liste_debug_files.txt`; do 143 extract_date_file=`echo ${file} | sed -e "s/.*\${JobName}_//"` 144 date_file=`echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g'` 145 if [[ "x${date_file}" != "x" && ! -n ${date_file//[0-9]/} ]]; then 146 if [ ${date_file} -lt ${date_end_pack} ] 147 then 148 if [ ${date_file} -ge ${date_begin_pack} ] 149 then 150 echo ${file} >> ${IGCM_TMP}/${$}.liste_pack_debug_${number_pack}.txt 151 fi 152 fi 153 fi 154 done 155 fi 165 echo ${file} >> ${IGCM_TMP}/${$}.liste_pack_debug_${number_pack}.txt 166 grep -v ${file} ${IGCM_TMP}/${$}.debug_list_${j}.txt > ${IGCM_TMP}/${$}.debug_list_${j}.txt.tmp 167 mv ${IGCM_TMP}/${$}.debug_list_${j}.txt.tmp ${IGCM_TMP}/${$}.debug_list_${j}.txt 168 169 fi 170 fi 171 fi 172 if [ ${date_file} -gt ${date_end_pack} ] 173 then 174 break 175 fi 176 177 done 178 month_begin_pack=${month_end_pack} 179 year_begin_pack=${year_end_pack} 180 181 date_begin_pack=${year_begin_pack}${month_begin_pack}01 182 183 number_pack=`expr ${number_pack} + 1` 184 done 185 186 ((j = $j + 1 )) 187 done 188 189 compt_pack=1 190 while [[ $compt_pack -le $number_pack ]]; do 191 156 192 #on archive les debug - le nom de l'archive contiendra ${yearbegin}${monthbegin}_${yearend}${monthend} 157 193 # end etant la date du dernier fichier contenu et non pas la premiere date suivant … … 159 195 #On classe par ordre alphabetique les fichiers contenus dans liste_pack_debug 160 196 #la date du dernier fichier donnera la date de fin du pack 161 if [[ -f ${IGCM_TMP}/${$}.liste_pack_debug_${ number_pack}.txt ]] ; then162 sort ${IGCM_TMP}/${$}.liste_pack_debug_${ number_pack}.txt > ${IGCM_TMP}/${$}.liste_pack_debug_${number_pack}.txt.tmp163 164 first_file=$(head -n 1 ${IGCM_TMP}/${$}.liste_pack_debug_${ number_pack}.txt.tmp )197 if [[ -f ${IGCM_TMP}/${$}.liste_pack_debug_${compt_pack}.txt ]] ; then 198 sort ${IGCM_TMP}/${$}.liste_pack_debug_${compt_pack}.txt > ${IGCM_TMP}/${$}.liste_pack_debug_${compt_pack}.txt.tmp 199 200 first_file=$(head -n 1 ${IGCM_TMP}/${$}.liste_pack_debug_${compt_pack}.txt.tmp ) 165 201 extract_date_file=$( echo ${first_file} | sed -e "s/.*${JobName}_//" ) 166 202 DateBegin_Debug=$(echo ${extract_date_file}| sed 's%\([0-9]\{8\}\)_.*$%\1%g' ) 167 203 168 last_file=$(tail -n 1 ${IGCM_TMP}/${$}.liste_pack_debug_${ number_pack}.txt.tmp )204 last_file=$(tail -n 1 ${IGCM_TMP}/${$}.liste_pack_debug_${compt_pack}.txt.tmp ) 169 205 extract_date_file=$( echo ${last_file} | sed -e "s/.*${JobName}_//" ) 170 206 DateEnd_Debug=$( echo ${extract_date_file}| sed 's%.*\([0-9]\{8\}\)_.*$%\1%g' ) 171 mv ${IGCM_TMP}/${$}.liste_pack_debug_${ number_pack}.txt.tmp ${DEBUG_TAR}/${JobName}_debug_${DateBegin_Debug}_${DateEnd_Debug}.list207 mv ${IGCM_TMP}/${$}.liste_pack_debug_${compt_pack}.txt.tmp ${DEBUG_TAR}/${JobName}_debug_${DateBegin_Debug}_${DateEnd_Debug}.list 172 208 fi 173 209 174 DEM_log -1 "Passage de la commande Tar pour archiver la liste creee"175 # tar -cf ${JobName}_${date_begin_pack}_${DateEnd_Debug}_debug.tar --dereference --files-from ${DEBUG_TAR}/tar_debug_${date_begin_pack}_${DateEnd_Debug}.list176 # cat ${DEBUG_TAR}/tar_debug_${number_pack}.list | xargs rm177 210 178 211 179 212 DEM_log -1 "On definit le datebegin de la prochaine periode pack" 180 213 #on definit la periode pack suivante 181 month_begin_pack=${month_end_pack} 182 year_begin_pack=${year_end_pack} 183 184 date_begin_pack=${year_begin_pack}${month_begin_pack}01 185 186 number_pack=`expr ${number_pack} + 1` 187 214 215 compt_pack=`expr ${compt_pack} + 1` 188 216 done 189 217 -
TOOLS/PACK_IPSL/archive_restart.sh
r2022 r2045 76 76 if [ "x${STORE_RESTART}" != "x" ] 77 77 then 78 rm -rf *78 rm -rf * 79 79 fi 80 80 # On les copie sur le scratchdir en changeant le nom et conservant la date … … 87 87 ls -l ${STORE_RESTART} > ${IGCM_TMP}/${$}.new_liste_restart_files.txt 88 88 89 ### 2- creer les listes de fichiers par periode #### 90 DEM_log -1 "Creation des listes de fichiers par periode" 91 ### 2.1- extraire l'annee et le mois de DateBegin ### 92 date_begin=${DateBegin} 93 date_end=${DateEnd} 94 95 year_begin=$(echo ${date_begin} | cut -c 1-4 ) 96 month_begin=$(echo ${date_begin} | cut -c 5-6 ) 97 year_end=$(echo ${date_end} | cut -c 1-4 ) 98 month_end=$(echo ${date_end} | cut -c 5-6 ) 99 100 101 ### 2.2- creation des listes ### 102 date_begin_pack=${date_begin} 103 date_end_simulation=${date_end} 104 105 month_begin_pack=${month_begin} 106 year_begin_pack=${year_begin} 107 108 number_pack=1 109 while [ ${date_begin_pack} -le ${date_end_simulation} ] 110 do 111 112 DEM_log -1 "On calcule la date de fin du pack " 113 114 month_end_pack=${month_begin_pack} 115 year_end_pack=`expr ${year_begin_pack} + ${period_pack}` 116 117 118 date_end_pack=${year_end_pack}${month_end_pack}01 119 89 ### creation de liste en fonction du type de restart 120 90 if [ "x${ON_IDRIS}" == "xno" ] 121 91 then 122 for file in `awk '{print $9}' ${IGCM_TMP}/${$}.new_liste_restart_files.txt`; do 123 extract_date_file=`echo ${file} | sed -e "s/.*\${JobName}_//"` 124 date_file=`echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g'` 125 126 # DEM_log "date_file = ${date_file}" 127 if [ ${date_file} -lt ${date_end_pack} ] 128 then 129 if [ ${date_file} -ge ${date_begin_pack} ] 130 then 131 # DEM_log "${file} ${date_file} dans ${date_begin_pack} ${date_end_pack} " 132 echo ${file} >> ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt 133 fi 134 fi 135 done 92 awk '{if (NR >1) print $9}' ${IGCM_TMP}/${$}.new_liste_restart_files.txt > ${IGCM_TMP}/${$}.new_liste_restart_files.txt_tmp 136 93 else 137 for file in `awk '{print $8}' ${IGCM_TMP}/${$}.new_liste_restart_files.txt`; do 138 extract_date_file=`echo ${file} | sed -e "s/.*\${JobName}_//"` 139 date_file=`echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g'` 140 141 # DEM_log "date_file = ${date_file}" 142 if [ ${date_file} -lt ${date_end_pack} ] 143 then 144 if [ ${date_file} -ge ${date_begin_pack} ] 145 then 146 # DEM_log "${file} ${date_file} dans ${date_begin_pack} ${date_end_pack} " 147 echo ${file} >> ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt 148 fi 149 fi 150 done 94 awk '{if (NR >1) print $8}' ${IGCM_TMP}/${$}.new_liste_restart_files.txt > ${IGCM_TMP}/${$}.new_liste_restart_files.txt_tmp 151 95 fi 152 96 sort ${IGCM_TMP}/${$}.new_liste_restart_files.txt_tmp > ${IGCM_TMP}/${$}.order_new_liste_restart_files.txt 97 ref=`awk -F_ '{if (NR==1) print $1}' ${IGCM_TMP}/${$}.order_new_liste_restart_files.txt` 98 99 i=1 100 for new_file in `awk '{print $0}' ${IGCM_TMP}/${$}.order_new_liste_restart_files.txt`; do 101 new_ref=$( echo ${new_file} | sed -e "s/_.*//") 102 103 if [ ${new_ref} == ${ref} ]; then 104 echo ${new_file} >> ${IGCM_TMP}/${$}.restart_list_${i}.txt 105 else 106 ref=${new_ref} 107 (( i = $i + 1 )) 108 echo ${new_file} >> ${IGCM_TMP}/${$}.restart_list_${i}.txt 109 fi 110 done 111 112 113 114 j=1 115 while [[ $j -le $i ]]; do 116 117 ### 2- creer les listes de fichiers par periode #### 118 DEM_log -1 "Creation des listes de fichiers par periode" 119 ### 2.1- extraire l'annee et le mois de DateBegin ### 120 date_begin=${DateBegin} 121 date_end=${DateEnd} 122 123 year_begin=$(echo ${date_begin} | cut -c 1-4 ) 124 month_begin=$(echo ${date_begin} | cut -c 5-6 ) 125 year_end=$(echo ${date_end} | cut -c 1-4 ) 126 month_end=$(echo ${date_end} | cut -c 5-6 ) 127 128 129 ### 2.2- creation des listes ### 130 date_begin_pack=${date_begin} 131 date_end_simulation=${date_end} 132 133 month_begin_pack=${month_begin} 134 year_begin_pack=${year_begin} 135 136 number_pack=1 137 echo date_end_simulation : $date_end_simulation 138 while [ ${date_begin_pack} -le ${date_end_simulation} ] 139 do 140 141 echo "On calcule la date de fin du pack " 142 143 month_end_pack=${month_begin_pack} 144 year_end_pack=`expr ${year_begin_pack} + ${period_pack}` 145 146 147 date_end_pack=${year_end_pack}${month_end_pack}01 148 echo date_end_pack $date_end_pack 149 150 for file in `awk '{print $1}' ${IGCM_TMP}/${$}.restart_list_${j}.txt`; do 151 extract_date_file=`echo ${file} | sed -e "s/.*\${JobName}_//"` 152 date_file=`echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g'` 153 154 if [ ${date_file} -lt ${date_end_pack} ] 155 then 156 if [ ${date_file} -ge ${date_begin_pack} ] 157 then 158 echo ${file} >> ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt 159 grep -v ${file} ${IGCM_TMP}/${$}.restart_list_${j}.txt > ${IGCM_TMP}/${$}.restart_list_${j}.txt.tmp 160 mv ${IGCM_TMP}/${$}.restart_list_${j}.txt.tmp ${IGCM_TMP}/${$}.restart_list_${j}.txt 161 fi 162 163 fi 164 if [ ${date_file} -gt ${date_end_pack} ] 165 then 166 break 167 fi 168 done 169 170 171 172 DEM_log -1 "On definit le datebegin de la prochaine periode pack" 173 #on definit la periode pack suivante 174 month_begin_pack=${month_end_pack} 175 year_begin_pack=${year_end_pack} 176 177 date_begin_pack=${year_begin_pack}${month_begin_pack}01 178 179 number_pack=`expr ${number_pack} + 1` 180 181 done 182 183 ((j = $j + 1 )) 184 done 185 186 compt_pack=1 187 while [[ $compt_pack -le $number_pack ]]; do 153 188 #on archive les restart - le nom de l'archive contiendra ${yearbegin}${monthbegin}_${yearend}${monthend} 154 189 # end etant la date du dernier fichier contenu et non pas la premiere date suivant 155 DEM_log -1 "Recherche de la date de fin reel pour nommer l'archive "190 DEM_log -1 "Recherche de la date de fin reel pour nommer l'archive " 156 191 #On classe par ordre alphabetique les fichiers contenus dans liste_pack_restart 157 192 #la date du dernier fichier donnera la date de fin du pack 158 if [[ -f ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt ]] ; then 159 sort ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt > ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt.tmp 160 161 first_file=$(head -n 1 ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt.tmp ) 162 extract_date_file=$( echo ${first_file} | sed -e "s/.*${JobName}_//" ) 163 DateBegin_Restart=$(echo ${extract_date_file}| sed 's%\([0-9]\{8\}\)_.*$%\1%g' ) 164 165 last_file=$(tail -n 1 ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt.tmp ) 166 extract_date_file=$( echo ${last_file} | sed -e "s/.*${JobName}_//" ) 167 DateEnd_Restart=$( echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g' ) 168 mv ${IGCM_TMP}/${$}.liste_pack_restart_${number_pack}.txt.tmp ${RESTART_TAR}/${JobName}_restart_${DateBegin_Restart}_${DateEnd_Restart}.list 169 fi 170 171 DEM_log -1 "Passage de la commande Tar pour archiver la liste creee" 172 # tar -cf ${JobName}_${date_begin_pack}_${DateEnd_Restart}_restart.tar --dereference --files-from ${RESTART_TAR}/tar_restart_${date_begin_pack}_${DateEnd_Restart}.list 173 # cat ${RESTART_TAR}/tar_restart_${number_pack}.list | xargs rm 174 175 176 DEM_log -1 "On definit le datebegin de la prochaine periode pack" 177 #on definit la periode pack suivante 178 month_begin_pack=${month_end_pack} 179 year_begin_pack=${year_end_pack} 180 181 date_begin_pack=${year_begin_pack}${month_begin_pack}01 182 183 number_pack=`expr ${number_pack} + 1` 184 193 if [[ -f ${IGCM_TMP}/${$}.liste_pack_restart_${compt_pack}.txt ]] ; then 194 sort ${IGCM_TMP}/${$}.liste_pack_restart_${compt_pack}.txt > ${IGCM_TMP}/${$}.liste_pack_restart_${compt_pack}.txt.tmp 195 196 first_file=$(head -n 1 ${IGCM_TMP}/${$}.liste_pack_restart_${compt_pack}.txt.tmp ) 197 extract_date_file=$( echo ${first_file} | sed -e "s/.*${JobName}_//" ) 198 DateBegin_Restart=$(echo ${extract_date_file}| sed 's%\([0-9]\{8\}\)_.*$%\1%g' ) 199 200 last_file=$(tail -n 1 ${IGCM_TMP}/${$}.liste_pack_restart_${compt_pack}.txt.tmp ) 201 extract_date_file=$( echo ${last_file} | sed -e "s/.*${JobName}_//" ) 202 DateEnd_Restart=$( echo ${extract_date_file}| sed 's/\([0-9]\{8\}\)_.*$/\1/g' ) 203 mv ${IGCM_TMP}/${$}.liste_pack_restart_${compt_pack}.txt.tmp ${RESTART_TAR}/${JobName}_restart_${DateBegin_Restart}_${DateEnd_Restart}.list 204 fi 205 206 compt_pack=`expr ${compt_pack} + 1` 185 207 done 208 186 209 187 210 cd ${EXE_DIR}
Note: See TracChangeset
for help on using the changeset viewer.