source: BAORadio/AmasNancay/trunk/mkarchive.sh @ 574

Last change on this file since 574 was 565, checked in by campagne, 13 years ago

script to make an Irods archive of a prod (jec)

  • Property svn:executable set to *
File size: 4.2 KB
Line 
1#!/bin/sh
2#make an archive of the processing
3DATE=/bin/date
4GREP=/bin/grep
5AWK=/bin/awk
6ECHO=/bin/echo
7WC=/usr/bin/wc
8CAT=/bin/cat
9PRINTF=/usr/bin/printf
10FIND=/usr/bin/find
11MKDIR=/bin/mkdir
12XARGS=/usr/bin/xargs
13SORT=/bin/sort
14RM=/bin/rm
15TR=/usr/bin/tr
16CP=/bin/cp
17LS=/bin/ls
18CHMOD=/bin/chmod
19
20DefaultIFS=$' \t\n'
21IFS=$DefaultIFS
22
23#set Irods environment   
24. /usr/local/shared/bin/irods_env.sh -noverbose
25
26scriptName="`basename $0`"
27$ECHO "Processing script ${scriptName} at `date`"
28#which source to analyse
29
30#Process cmd line args: the -src option is mandatory (source name as Abell85)
31sourceRadio=
32dateSelected=
33prependTag=""
34appendTag=""
35simulationMode=Off
36while [ $# -gt 0 ]
37  do
38  case "$1" in
39      -src)  sourceRadio=$2;    shift;;
40      -date) dateSelected=$2;     shift;;
41      -ppTag) prependTag=$2; shift;;
42      -apTag) appendTag=$2; shift;;
43      -sim)  simulationMode=On;;
44      -h)
45      echo >&2 \
46          "usage: $0 -src souce -date YYYYMMDD -ppTag <tag> -apTag <tag>  [-sim to trig simulation mode]"
47      exit 1;;
48      *)  break;;       # terminate while loop
49  esac
50  shift
51done
52
53
54if [ ${simulationMode} = "On" ]; then
55    $ECHO "INFO ${scriptName} running in SIMUL mode"
56fi
57
58if [ "<${sourceRadio}>" = "<>" ]; then
59    $ECHO "FATAL: You have forgotten to select the source option (-src)"
60    exit 1
61fi
62
63if [ "<${prependTag}>" = "<>" -a "<${appendTag}>" = "<>"  ]; then
64    $ECHO "FATAL: choose either a prepend Tag or a append Tag"
65    exit
66fi
67
68
69case ${sourceRadio} in
70    Abell85) $ECHO "INFO (${scriptName}): process ${sourceRadio}";;
71    Abell2440) $ECHO "INFO (${scriptName}): process ${sourceRadio}";;
72    Abell1205) $ECHO "INFO (${scriptName}): process ${sourceRadio}";;
73    *) ECHO "FATAL (${scriptName}): process ${sourceRadio} not yet foreseen"
74    exit 1;;
75esac
76
77srclower=`${ECHO} ${sourceRadio} | ${TR} "[:upper:]" "[:lower:]" `
78
79#Path to public backupable path
80publicpath="/afs/in2p3.fr/home/c/campagne/public"
81
82
83#temporary files to synchronize scripts
84tmppublicpath=${TMPPUBLICPATH}
85#wakeup the NFS disk
86$LS -l ${tmppublicpath} > /dev/null
87
88#Path where the job will do temporary IO
89if [ ${ENVIRONMENT} = "INTERACTIVE" ]; then
90    iojobpath="/sps/baoradio/AmasNancay/JEC"
91    $MKDIR -p $iojobpath
92else
93    $ECHO "FATAL (${scriptName}): environment is ${ENVIRONMENT} not allowed"
94    exit 1
95fi
96cd ${iojobpath}
97
98localpath="${sourceRadio}"
99$MKDIR -p ./${localpath}
100cd ./${localpath}
101
102
103#Path of the utility scripts
104scriptpath="/afs/in2p3.fr/home/c/campagne/private/work/AmasNancay"
105
106OUT1=${publicpath}/baodaqstatus-current.txt
107if [ ! -e ${OUT1}  -o ! -r ${OUT1} ]; then
108    $ECHO "FATAL (${scriptName}): ${OUT1} has a problem"
109    exit 1
110fi
111
112
113
114$ECHO "You have selected sourceRadio = ${sourceRadio} [date = ${dateSelected}]"
115tableau=( `$GREP -i "${dateSelected}${srclower}" ${OUT1} | $AWK '( NF==4 ) { print $2 }' ` )
116IFS='
117' 
118tableau=( $( $PRINTF "%s\n" "${tableau[@]}" | $AWK 'x[$0]++ == 0' ) )
119IFS=$DefaultIFS
120
121$ECHO "We are in directory `pwd`"
122
123for i in ${tableau[@]}
124  do
125#
126 
127  $ECHO "DEBUG: (${scriptName}) irods root dir $i"
128
129 
130
131  #make a new archive directory
132  archiveDir=${prependTag}Arch${appendTag}
133
134  archExist=`ils ${i} 2>&1 | $GREP -i ".*C-.*${archiveDir}"| $WC -l`
135  if [ ${archExist} -gt 0 ]; then
136      $ECHO "FATAL: ${archiveDir} already exit in ${i}"
137      exit 1
138  fi
139
140  imkdir -v ${i}/${archiveDir}
141 
142  #Move the Off and On directory
143  imv -v ${i}/Off ${i}/${archiveDir}/Off
144  imv -v ${i}/On ${i}/${archiveDir}/On
145 
146  #recreate On and Off directories
147  imkdir -v ${i}/Off
148  imkdir -v ${i}/On
149 
150  #mv the fichiers de calibrations BAO
151  calibfiles=( `ils ${i} 2>&1 | $GREP -i "calib_.*\.txt" ` )
152  IFS='
153' 
154  calibfiles=( $( $PRINTF "%s\n" "${calibfiles[@]}" | $AWK 'x[$0]++ == 0' )  )
155  IFS=$DefaultIFS
156
157  for j in ${calibfiles[@]}
158    do
159    file=`$ECHO $j`
160    imv -v ${i}/${file} ${i}/${archiveDir}/${file}
161  done
162 
163  #mv the ppf files
164  ppffiles=( `ils ${i} 2>&1 | $GREP -i ".*\.ppf" ` )
165  IFS='
166' 
167  ppffiles=( $( $PRINTF "%s\n" "${ppffiles[@]}" | $AWK 'x[$0]++ == 0' )  )
168  IFS=$DefaultIFS
169
170  for j in ${ppffiles[@]}
171    do
172    file=`$ECHO $j`
173    imv -v ${i}/${file} ${i}/${archiveDir}/${file}
174  done
175
176  #save the gain file
177  gainfile=`ils ${i} 2>&1 | $GREP -i "gain.*\.fits"`
178  file=`$ECHO ${gainfile}`
179  icp -v ${i}/${file} ${i}/${archiveDir}/${file}
180
181done
182
183exit 0
Note: See TracBrowser for help on using the repository browser.