| 1 | jmc | 1.1 | #! /usr/bin/env bash | 
| 2 |  |  |  | 
| 3 |  |  | # $Header: /u/gcmpack/mitgcm.org/scripts/check_outp,v 1.17 2009/07/12 16:29:42 jmc Exp $ | 
| 4 |  |  | # | 
| 5 |  |  | #  The purpose of this script is to clean-up (relatively) old monthly | 
| 6 |  |  | #  collection of testreport results: | 
| 7 |  |  | #  will replace all experiment sub-dir (in each testreport output dir) | 
| 8 |  |  | #  with just 1 tar file (it reduces disk-space and number of files/dir | 
| 9 |  |  | #  by almost 2 order of magnitude). | 
| 10 |  |  | #  Note: Needs hand editing ! | 
| 11 |  |  |  | 
| 12 |  |  | #- to run from any author machine: | 
| 13 |  |  | storeResDir='/net/orwell/export/export-9/mitgcm-testing/results' | 
| 14 |  |  | #- to run from orwell (better since it is disk intensive): | 
| 15 |  |  | storeResDir='/export/export-9/mitgcm-testing/results' | 
| 16 |  |  |  | 
| 17 |  |  | echo -n "change dir to: " | 
| 18 |  |  | cd $storeResDir | 
| 19 |  |  | pwd | 
| 20 |  |  |  | 
| 21 |  |  | listM='2006_10' | 
| 22 |  |  | #listM=`ls -1 -d 2006_1[1-2] 2007_[0-1][0-9] 2008_[0-1][0-9]` | 
| 23 |  |  | listM=`ls -1 -d 2009_0[1-3]` | 
| 24 |  |  | echo "listM='$listM'" | 
| 25 |  |  | #exit | 
| 26 |  |  |  | 
| 27 |  |  | for MD in $listM | 
| 28 |  |  | do | 
| 29 |  |  | flag=0 | 
| 30 |  |  | echo "===============================================================" | 
| 31 |  |  | echo " -- process dir $MD :" | 
| 32 |  |  | echo "===============================================================" | 
| 33 |  |  | cd $MD | 
| 34 |  |  | out=$? | 
| 35 |  |  | if test $out != 0 ; then | 
| 36 |  |  | echo " cd $MD : error= $out" | 
| 37 |  |  | continue | 
| 38 |  |  | fi | 
| 39 |  |  | tStart=`date` | 
| 40 |  |  | listD=`ls -1 -d tr_*` | 
| 41 |  |  | #echo $listD | 
| 42 |  |  | for dd in $listD | 
| 43 |  |  | do | 
| 44 |  |  | if test $flag = 1 ; then continue ; fi | 
| 45 |  |  | own=-1 | 
| 46 |  |  | if test -d $dd ; then | 
| 47 |  |  | #echo "> $dd is dir" | 
| 48 |  |  | own=`ls -l -d $dd | grep -c $USER` | 
| 49 |  |  | fi | 
| 50 |  |  | if test $own = 0 ; then | 
| 51 |  |  | echo " $USER does not own dir: $dd : ==> skipped" | 
| 52 |  |  | fi | 
| 53 |  |  | if [ $own -gt 0 ] ; then | 
| 54 |  |  | xx=$dd.tar | 
| 55 |  |  | if test -f $dd/$xx -o -f $dd/$xx.gz ; then | 
| 56 |  |  | echo ' tar file exist:' | 
| 57 |  |  | ls -l $dd/${xx}* | 
| 58 |  |  | else | 
| 59 |  |  | #flag=1 | 
| 60 |  |  | echo -n "tar -cf $xx $dd ..." | 
| 61 |  |  | tar -cf $xx $dd | 
| 62 |  |  | out=$? | 
| 63 |  |  | if test $out = 0 ; then | 
| 64 |  |  | touch -r $dd/summary.txt $xx | 
| 65 |  |  | cd $dd | 
| 66 |  |  | nb=0; | 
| 67 |  |  | echo -n " ; rm -r [all dir] ..." | 
| 68 |  |  | listRM=`ls -1` | 
| 69 |  |  | for yy in $listRM | 
| 70 |  |  | do | 
| 71 |  |  | if test -d $yy ; then | 
| 72 |  |  | rm -r $yy | 
| 73 |  |  | nb=`expr $nb + 1` | 
| 74 |  |  | fi | 
| 75 |  |  | done | 
| 76 |  |  | cd .. | 
| 77 |  |  | echo " (total: $nb) done" | 
| 78 |  |  | gzip -9 $xx | 
| 79 |  |  | mv $xx.gz $dd | 
| 80 |  |  | #ls -l $dd | 
| 81 |  |  | else | 
| 82 |  |  | echo " : error= $out" | 
| 83 |  |  | fi | 
| 84 |  |  | fi | 
| 85 |  |  | fi | 
| 86 |  |  | done | 
| 87 |  |  | eStart=`date` | 
| 88 |  |  | echo " -- cleaning started at: $tStart" | 
| 89 |  |  | echo "               ended at: $eStart" | 
| 90 |  |  | echo "===============================================================" | 
| 91 |  |  | cd .. | 
| 92 |  |  | done | 
| 93 |  |  | #exit |