1 | #!/bin/bash
|
---|
2 | #
|
---|
3 | # This script checks whether data can be deleted
|
---|
4 | #
|
---|
5 |
|
---|
6 | source `dirname $0`/../Sourcefile.sh
|
---|
7 | printprocesslog "INFO starting $0"
|
---|
8 |
|
---|
9 | source /home_nfs/isdc/fact_opr/myagent.sh
|
---|
10 |
|
---|
11 | # check first the disk in LP and on dl00
|
---|
12 | ssh fact@161.72.93.131 "df -h /*da*"
|
---|
13 | df -h /scratch
|
---|
14 | echo ""
|
---|
15 |
|
---|
16 | # check next the DB to know if some transfer processes failed or crashed
|
---|
17 | function check_runs_in_db()
|
---|
18 | {
|
---|
19 | query="SELECT "$toquery" FROM "$1" "$where
|
---|
20 | #echo $query
|
---|
21 | runs=( `sendquery $query` )
|
---|
22 | if [ ${#runs[@]} -gt 0 ]
|
---|
23 | then
|
---|
24 | #for run in ${runs[@]}
|
---|
25 | #do
|
---|
26 | # echo $run
|
---|
27 | #done
|
---|
28 | echo -e "\e[1;31m\x1b[5m ==>\e[00m "$1": "${runs[@]}"\e[1;31m\x1b[5m <==\e[00m "
|
---|
29 | echo "SELECT fNight, fRunId FROM "$1" "$where";"
|
---|
30 | echo "UPDATE "$1" SET fStartTime=NULL, fStopTime=NULL, fAvailable=NULL, fReturnCode=NULL, fProcessingSiteKey=NULL "$where";"
|
---|
31 | fi
|
---|
32 | }
|
---|
33 | # get information of runs where transfer had a problem
|
---|
34 | toquery="fNight, fRunID, fStartTime, fStopTime, fAvailable, fProcessingSiteKey, fReturnCode "
|
---|
35 | toquery="CONCAT(fNight, '_', fRunID, '(', fStartTime, '-', fStopTime, ':', fReturnCode, ')') "
|
---|
36 | toquery="CONCAT(fNight, '_', fRunID, ':', fReturnCode) "
|
---|
37 | toquery="IF (ISNULL(fReturnCode), CONCAT(fNight, '_', fRunID, 'crashed'), CONCAT(fNight, '_', fRunID, 'failed', fReturnCode)) "
|
---|
38 | where="WHERE NOT ISNULL(fReturnCode) OR (NOT ISNULL(fStartTime) AND ISNULL(fStopTime)) AND fStartTime < DATE_ADD(Now(), INTERVAL -3 HOUR) "
|
---|
39 | check_runs_in_db "RawFileRsyncedISDCStatus"
|
---|
40 | check_runs_in_db "RawFileAvailWueStatus"
|
---|
41 | # RawFileAvailISDC needs a different treatment
|
---|
42 | # as return code 0 means that file is in fails folder in archive
|
---|
43 | where="WHERE fReturnCode>0 OR (NOT ISNULL(fStartTime) AND ISNULL(fStopTime)) "
|
---|
44 | check_runs_in_db "RawFileAvailISDCStatus"
|
---|
45 |
|
---|
46 |
|
---|
47 | # get last 10 nights (skip current night)
|
---|
48 | dates=( `date +%Y/%m/%d --date="-360hour"` `date +%Y/%m/%d --date="-336hour"` `date +%Y/%m/%d --date="-312hour"` \
|
---|
49 | `date +%Y/%m/%d --date="-288hour"` `date +%Y/%m/%d --date="-264hour"` `date +%Y/%m/%d --date="-240hour"` \
|
---|
50 | `date +%Y/%m/%d --date="-216hour"` `date +%Y/%m/%d --date="-192hour"` `date +%Y/%m/%d --date="-168hour"` \
|
---|
51 | `date +%Y/%m/%d --date="-144hour"` `date +%Y/%m/%d --date="-120hour"` `date +%Y/%m/%d --date="-96hour"` \
|
---|
52 | `date +%Y/%m/%d --date="-72hour"` `date +%Y/%m/%d --date="-48hour"` `date +%Y/%m/%d --date="-24hour"` \
|
---|
53 | )
|
---|
54 | # get nights from directory in LP
|
---|
55 | dates=( `ssh fact@161.72.93.131 "find /loc_data/zipraw -mindepth 3 -type d | sort | sed -e 's/\/loc_data\/zipraw\///g' "` )
|
---|
56 |
|
---|
57 | #dates=( "2012/09/22" )
|
---|
58 | #short="yes"
|
---|
59 |
|
---|
60 | numdaysok=0
|
---|
61 | numdaysoklimit=5
|
---|
62 | sumdata=0
|
---|
63 | checklimit=5000
|
---|
64 | for date in ${dates[@]}
|
---|
65 | do
|
---|
66 | echo ""
|
---|
67 | echo ""
|
---|
68 | echo ""
|
---|
69 | echo $date
|
---|
70 |
|
---|
71 | # some counters
|
---|
72 | numdiff=0
|
---|
73 | numok=0
|
---|
74 | numpb=0
|
---|
75 |
|
---|
76 | # check always only $numdaysoklimit days
|
---|
77 | # and require at least $checklimit GB that have been checked
|
---|
78 | # remark: bc: expr1 < expr2: the result is 1 if expr1 is strictly less than expr2
|
---|
79 | if [ $numdaysok -ge $numdaysoklimit ] && [ $(echo " $sumdata > $checklimit " | bc -l) -eq 1 ]
|
---|
80 | then
|
---|
81 | echo "INFO more than "$numdaysoklimit" ok and more than "$checklimit" GB checked. "
|
---|
82 | continue
|
---|
83 | fi
|
---|
84 |
|
---|
85 | # get paths
|
---|
86 | date2=`echo $date | sed -e 's/\///g'`
|
---|
87 | # lprawpath="/daq/raw/"$date
|
---|
88 | lprawpath="/newdaq/raw/"$date
|
---|
89 | # lprawpath2="/loc_data/raw/"$date
|
---|
90 | lprawpath2="/daq/raw/"$date
|
---|
91 | lpziprawpath="/loc_data/zipraw/"$date
|
---|
92 | localrawpath="/scratch/from_lapalma/raw/"$date
|
---|
93 | localrawpath3="/fact/raw/"$date
|
---|
94 | # localfailpath="/archive/fact/fails/raw/"$date
|
---|
95 | localfailpath="/gpfs/fact/fact-archive/fails/raw/"$date
|
---|
96 | wuerawpath="/fact/raw/"$date
|
---|
97 | #phidorawpath="/fhgfs/groups/app/fact-construction/raw/"$date
|
---|
98 |
|
---|
99 | # get disk usage and number of files for directory
|
---|
100 | newdaq=( `ssh fact@161.72.93.131 "if [ -d $lprawpath ]; then ls $lprawpath/* | wc -l; du -s -b --apparent-size $lprawpath; else echo '-1 -1 -1'; fi"` )
|
---|
101 | daq=( `ssh fact@161.72.93.131 "if [ -d $lprawpath2 ]; then ls $lprawpath2/* | wc -l; du -s -b --apparent-size $lprawpath2; else echo '-1 -1 -1'; fi"` )
|
---|
102 | if [ ${newdaq[0]} -eq -1 ] && [ ${daq[0]} -eq -1 ]
|
---|
103 | then
|
---|
104 | echo "INFO no data available on newdaq for "$date
|
---|
105 | continue
|
---|
106 | fi
|
---|
107 | zip=( `ssh fact@161.72.93.131 "if [ -d $lpziprawpath ]; then ls $lpziprawpath/* | wc -l; du -s -b --apparent-size $lpziprawpath; else echo '-1 -1 -1'; fi"` )
|
---|
108 | dl00=( `if [ -d $localrawpath ]; then ls $localrawpath/* | wc -l; du -s -b --apparent-size $localrawpath; else echo '-1 -1 -1'; fi` )
|
---|
109 | archive=( `if [ -d $localrawpath3 ]; then ls $localrawpath3/* | wc -l; du -L -s -b --apparent-size $localrawpath3; else echo '-1 -1 -1'; fi` )
|
---|
110 | fails=( `if [ -d $localfailpath ]; then ls $localfailpath/* | wc -l; du -L -s -b --apparent-size $localfailpath; else echo '-1 -1 -1'; fi` )
|
---|
111 | wue=( `ssh operator@coma.astro.uni-wuerzburg.de "if [ -d $wuerawpath ]; then ls $wuerawpath/* | wc -l; du -s -b --apparent-size $wuerawpath; else echo '-1 -1 -1'; fi"` )
|
---|
112 | #phido=( `ssh -i /home_nfs/isdc/fact_opr/.ssh/id_rsa.fact_opr.phido 129.217.160.201 "if [ -d $phidorawpath ]; then ls $phidorawpath/* | wc -l; du -s -b --apparent-size $phidorawpath; else echo '-1 -1 -1'; fi"` )
|
---|
113 | query="SELECT Sum(if(fHasDrsFile=1,2,1)) FROM RunInfo WHERE fNight="$date2
|
---|
114 | querystart="SELECT Sum(if(fHasDrsFile=1,2,1)) FROM "
|
---|
115 | queryjoin="LEFT JOIN RunInfo USING(fNight,fRunID) "
|
---|
116 | querywhere="WHERE fNight="$date2" AND NOT ISNULL(fStartTime) AND NOT ISNULL(fStopTime) AND ISNULL(fReturnCode)"
|
---|
117 | numruns=`sendquery`
|
---|
118 | if [ "$numruns" == "" ]
|
---|
119 | then
|
---|
120 | numruns=0
|
---|
121 | fi
|
---|
122 | query=$querystart"RawFileRsyncedISDCStatus "$queryjoin" "$querywhere
|
---|
123 | numrsynced=`sendquery`
|
---|
124 | if [ "$numrsynced" == "" ]
|
---|
125 | then
|
---|
126 | numrsynced=0
|
---|
127 | fi
|
---|
128 | query=$querystart"RawFileAvailISDCStatus "$queryjoin" "$querywhere
|
---|
129 | numisdc=`sendquery`
|
---|
130 | if [ "$numisdc" == "" ]
|
---|
131 | then
|
---|
132 | numisdc=0
|
---|
133 | fi
|
---|
134 | query=$querystart"RawFileAvailWueStatus "$queryjoin" "$querywhere
|
---|
135 | numwue=`sendquery`
|
---|
136 | if [ "$numwue" == "" ]
|
---|
137 | then
|
---|
138 | numwue=0
|
---|
139 | fi
|
---|
140 | #query=$querystart"RawFileAvailPhidoStatus "$queryjoin" "$querywhere
|
---|
141 | #numphido=`sendquery`
|
---|
142 | #if [ "$numphido" == "" ]
|
---|
143 | #then
|
---|
144 | # numphido=0
|
---|
145 | #fi
|
---|
146 | echo "disk: "
|
---|
147 | echo " newdaq "${newdaq[@]}
|
---|
148 | echo " daq "${daq[@]}
|
---|
149 | echo " data "${zip[@]}
|
---|
150 | echo " dl00 "${dl00[@]}
|
---|
151 | echo " wue "${wue[@]}
|
---|
152 | echo " arch "${archive[@]}
|
---|
153 | echo " fail "${fails[@]}
|
---|
154 | #echo " phido "${phido[@]}
|
---|
155 | echo "db: "
|
---|
156 | echo " runinfo "$numruns
|
---|
157 | echo " rsynced "$numrsynced
|
---|
158 | echo " isdc "$numisdc
|
---|
159 | echo " wue "$numwue
|
---|
160 | #echo " phido "$numphido
|
---|
161 |
|
---|
162 | # check if file are available in the different places
|
---|
163 | if [ ${dl00[0]} -eq -1 ] && [ $date2 -lt 20120308 ]
|
---|
164 | then
|
---|
165 | echo "INFO data not available on /scratch on dl00 for "$date
|
---|
166 | fi
|
---|
167 | if [ ${archive[0]} -eq -1 ]
|
---|
168 | then
|
---|
169 | echo "INFO data not in archive for "$date
|
---|
170 | fi
|
---|
171 |
|
---|
172 | # check if number of files agree in the different places
|
---|
173 | # lp
|
---|
174 | if ! [ ${daq[0]} -eq -1 ] && ! [ ${daq[0]} -eq ${newdaq[0]} ]
|
---|
175 | then
|
---|
176 | echo "WARN number of files on daq (" ${daq[0]}") does not agree with number of files on newdaq (" ${newdaq[0]}") for "$date
|
---|
177 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
178 | result="1"
|
---|
179 | else
|
---|
180 | numok=`echo " $numok + 1 " | bc -l `
|
---|
181 | result="0"
|
---|
182 | fi
|
---|
183 | # dl00
|
---|
184 | if ! [ ${dl00[0]} -eq -1 ] && ! [ ${dl00[0]} -eq ${newdaq[0]} ]
|
---|
185 | then
|
---|
186 | echo "WARN number of files on dl00 (" ${dl00[0]}") does not agree with number of files in LP (" ${newdaq[0]}") for "$date
|
---|
187 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
188 | result=$result"1"
|
---|
189 | else
|
---|
190 | numok=`echo " $numok + 1 " | bc -l `
|
---|
191 | result=$result"0"
|
---|
192 | fi
|
---|
193 | # archive
|
---|
194 | if ! [ ${archive[0]} -eq -1 ] && ! [ ${archive[0]} -eq ${newdaq[0]} ]
|
---|
195 | then
|
---|
196 | echo "WARN number of files in archive (" ${archive[0]}") does not agree with number of files in LP (" ${newdaq[0]}") for "$date
|
---|
197 | #check /archive/rev_1/failed
|
---|
198 | if ! [ ${fails[0]} -eq -1 ]
|
---|
199 | then
|
---|
200 | sum=`echo " ${fails[0]} + ${archive[0]} " | bc -l `
|
---|
201 | if ! [ $sum -eq ${newdaq[0]} ]
|
---|
202 | then
|
---|
203 | echo "ERROR number of files in whole archive ("$sum") is different from number of files in La Palma ("${newdaq[0]}")."
|
---|
204 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
205 | result=$result"1"
|
---|
206 | else
|
---|
207 | numok=`echo " $numok + 1 " | bc -l `
|
---|
208 | result=$result"0"
|
---|
209 | fi
|
---|
210 | else
|
---|
211 | result=$result"1"
|
---|
212 | fi
|
---|
213 | else
|
---|
214 | numok=`echo " $numok + 1 " | bc -l `
|
---|
215 | result=$result"0"
|
---|
216 | fi
|
---|
217 | # wue
|
---|
218 | if ! [ ${wue[0]} -eq -1 ] && ! [ ${wue[0]} -eq ${newdaq[0]} ]
|
---|
219 | then
|
---|
220 | echo "WARN number of files in Wue (" ${wue[0]}") does not agree with number of files in LP (" ${newdaq[0]}") for "$date
|
---|
221 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
222 | result=$result"1"
|
---|
223 | else
|
---|
224 | numok=`echo " $numok + 1 " | bc -l `
|
---|
225 | result=$result"0"
|
---|
226 | fi
|
---|
227 | ## phido
|
---|
228 | #if ! [ ${phido[0]} -eq -1 ] && ! [ ${phido[0]} -eq ${newdaq[0]} ]
|
---|
229 | #then
|
---|
230 | # echo "WARN number of files on Phido (" ${phido[0]}") does not agree with number of files in LP (" ${newdaq[0]}") for "$date
|
---|
231 | # numpb=`echo " $numpb + 1 " | bc -l `
|
---|
232 | # result=$result"1"
|
---|
233 | #else
|
---|
234 | # numok=`echo " $numok + 1 " | bc -l `
|
---|
235 | # result=$result"0"
|
---|
236 | #fi
|
---|
237 |
|
---|
238 | if [ "$short" = "yes" ]
|
---|
239 | then
|
---|
240 | continue
|
---|
241 | fi
|
---|
242 |
|
---|
243 | result=$result"-"
|
---|
244 | # check du for raw files
|
---|
245 | # la palma
|
---|
246 | if ! [ ${newdaq[1]} -eq ${daq[1]} ]
|
---|
247 | then
|
---|
248 | echo "WARN size of data doesn't agree on newdaq ("${newdaq[1]}") and daq ("${daq[1]}") for "$date
|
---|
249 | numdiff=`echo " $numdiff + 1 " | bc -l `
|
---|
250 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
251 | result=$result"1"
|
---|
252 | else
|
---|
253 | numok=`echo " $numok + 1 " | bc -l `
|
---|
254 | result=$result"0"
|
---|
255 | fi
|
---|
256 | # check du for zipped raw files
|
---|
257 | # dl00
|
---|
258 | if ! [ ${zip[1]} -eq ${dl00[1]} ] && [ $date2 -gt 20120307 ]
|
---|
259 | then
|
---|
260 | echo "WARN size of data doesn't agree on data ("${zip[1]}") and dl00 ("${dl00[1]}") for "$date
|
---|
261 | if ! [ ${dl00[1]} -eq -1 ]
|
---|
262 | then
|
---|
263 | numdiff=`echo " $numdiff + 1 " | bc -l `
|
---|
264 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
265 | result=$result"1"
|
---|
266 | else
|
---|
267 | numok=`echo " $numok + 1 " | bc -l `
|
---|
268 | result=$result"0"
|
---|
269 | fi
|
---|
270 | else
|
---|
271 | numok=`echo " $numok + 1 " | bc -l `
|
---|
272 | result=$result"0"
|
---|
273 | fi
|
---|
274 | # archive
|
---|
275 | if ! [ ${zip[1]} -eq ${archive[1]} ]
|
---|
276 | then
|
---|
277 | echo "WARN size of data doesn't agree on data ("${zip[1]}") and in archive ("${archive[1]}") for "$date
|
---|
278 | if ! [ ${archive[1]} -eq -1 ]
|
---|
279 | then
|
---|
280 | numdiff=`echo " $numdiff + 1 " | bc -l `
|
---|
281 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
282 | result=$result"1"
|
---|
283 | else
|
---|
284 | numok=`echo " $numok + 1 " | bc -l `
|
---|
285 | result=$result"0"
|
---|
286 | fi
|
---|
287 | else
|
---|
288 | numok=`echo " $numok + 1 " | bc -l `
|
---|
289 | result=$result"0"
|
---|
290 | fi
|
---|
291 | # wue
|
---|
292 | if ! [ ${zip[1]} -eq ${wue[1]} ]
|
---|
293 | then
|
---|
294 | echo "WARN size of data doesn't agree on data ("${zip[1]}") and in Wue ("${wue[1]}") for "$date
|
---|
295 | if ! [ ${wue[1]} -eq -1 ]
|
---|
296 | then
|
---|
297 | numdiff=`echo " $numdiff + 1 " | bc -l `
|
---|
298 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
299 | result=$result"1"
|
---|
300 | else
|
---|
301 | numok=`echo " $numok + 1 " | bc -l `
|
---|
302 | result=$result"0"
|
---|
303 | fi
|
---|
304 | else
|
---|
305 | numok=`echo " $numok + 1 " | bc -l `
|
---|
306 | result=$result"0"
|
---|
307 | fi
|
---|
308 | ## phido
|
---|
309 | #if ! [ ${zip[1]} -eq ${phido[1]} ]
|
---|
310 | #then
|
---|
311 | # echo "WARN size of data doesn't agree on data ("${zip[1]}") and on Phido ("${phido[1]}") for "$date
|
---|
312 | # if ! [ ${phido[1]} -eq -1 ]
|
---|
313 | # then
|
---|
314 | # numdiff=`echo " $numdiff + 1 " | bc -l `
|
---|
315 | # numpb=`echo " $numpb + 1 " | bc -l `
|
---|
316 | # result=$result"1"
|
---|
317 | # else
|
---|
318 | # numok=`echo " $numok + 1 " | bc -l `
|
---|
319 | # result=$result"0"
|
---|
320 | # fi
|
---|
321 | #else
|
---|
322 | # numok=`echo " $numok + 1 " | bc -l `
|
---|
323 | # result=$result"0"
|
---|
324 | #fi
|
---|
325 | result=$result"-"
|
---|
326 |
|
---|
327 | # check DB (only starting from 8.3.2012) (if-clause to be removed later)
|
---|
328 | if [ $date2 -gt 20120307 ]
|
---|
329 | then
|
---|
330 | # lp
|
---|
331 | if ! [ $numruns -eq ${newdaq[0]} ]
|
---|
332 | then
|
---|
333 | echo "WARN number of runs on newdaq ("${newdaq[0]}") not equal to number of runs ("$numruns")"
|
---|
334 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
335 | result=$result"1"
|
---|
336 | else
|
---|
337 | numok=`echo " $numok + 1 " | bc -l `
|
---|
338 | result=$result"0"
|
---|
339 | fi
|
---|
340 | # dl00
|
---|
341 | if ! [ $numruns -eq $numrsynced ]
|
---|
342 | then
|
---|
343 | echo "WARN number of rsynced runs ("$numrsynced") not equal to number of runs ("$numruns")"
|
---|
344 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
345 | result=$result"1"
|
---|
346 | else
|
---|
347 | numok=`echo " $numok + 1 " | bc -l `
|
---|
348 | result=$result"0"
|
---|
349 | fi
|
---|
350 | # archive
|
---|
351 | if ! [ $numruns -eq $numisdc ]
|
---|
352 | then
|
---|
353 | echo "WARN number of ingested files in archive ("$numisdc") not equal to number of runs ("$numruns")"
|
---|
354 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
355 | result=$result"1"
|
---|
356 | else
|
---|
357 | numok=`echo " $numok + 1 " | bc -l `
|
---|
358 | result=$result"0"
|
---|
359 | fi
|
---|
360 | # wue
|
---|
361 | if ! [ $numruns -eq $numwue ]
|
---|
362 | then
|
---|
363 | echo "WARN number of backuped in Wue ("$numrsynced") not equal to number of runs ("$numruns")"
|
---|
364 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
365 | result=$result"1"
|
---|
366 | else
|
---|
367 | numok=`echo " $numok + 1 " | bc -l `
|
---|
368 | result=$result"0"
|
---|
369 | fi
|
---|
370 | ## phido
|
---|
371 | #if ! [ $numruns -eq $numphido ]
|
---|
372 | #then
|
---|
373 | # echo "WARN number of backuped on Phido ("$numrsynced") not equal to number of runs ("$numruns")"
|
---|
374 | # numpb=`echo " $numpb + 1 " | bc -l `
|
---|
375 | # result=$result"1"
|
---|
376 | #else
|
---|
377 | # numok=`echo " $numok + 1 " | bc -l `
|
---|
378 | # result=$result"0"
|
---|
379 | #fi
|
---|
380 | fi
|
---|
381 |
|
---|
382 | #numdiff=0 # add for debugging so that single file sizes are not checked
|
---|
383 | echo "numdiff: "$numdiff
|
---|
384 | echo "INFO numok: "$numok
|
---|
385 | echo "INFO numpb: "$numpb
|
---|
386 | #if [ $numdiff -gt 0 ]
|
---|
387 | if [ $numdiff -ge 0 ]
|
---|
388 | then
|
---|
389 | query="SELECT fRunID FROM RunInfo WHERE fNight="$date2
|
---|
390 | runs=( `sendquery` )
|
---|
391 | archivediffcounter=0
|
---|
392 | archiveokcounter=0
|
---|
393 | wuediffcounter=0
|
---|
394 | wueokcounter=0
|
---|
395 | #phidodiffcounter=0
|
---|
396 | #phidookcounter=0
|
---|
397 | dl00diffcounter=0
|
---|
398 | dl00okcounter=0
|
---|
399 | daqdiffcounter=0
|
---|
400 | daqokcounter=0
|
---|
401 | echo "INFO found "${#runs[@]}" rawfiles in DB."
|
---|
402 | for run in ${runs[@]}
|
---|
403 | do
|
---|
404 | rawfile=$date2"_"`printf %03d $run`".fits"
|
---|
405 | rawfile2=$rawfile".gz"
|
---|
406 |
|
---|
407 | # get file sizes for run
|
---|
408 | sizenewdaq=( `ssh fact@161.72.93.131 "ls -l ${lprawpath}/${rawfile} 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
409 | sizedaq=( `ssh fact@161.72.93.131 "ls -l $lprawpath2/$rawfile 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
410 | sizezip=( `ssh fact@161.72.93.131 "ls -l $lpziprawpath/$rawfile2 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
411 | if ! [ ${dl00[1]} -eq -1 ]
|
---|
412 | then
|
---|
413 | sizedl00=( `ls -l $localrawpath/$rawfile2 2>/dev/null | awk '{ print \$5 }'` )
|
---|
414 | fi
|
---|
415 | if ! [ ${archive[1]} -eq -1 ]
|
---|
416 | then
|
---|
417 | sizearchive=( `ls -lH $localrawpath3/$rawfile2 2>/dev/null | awk '{ print \$5 }'` )
|
---|
418 | fi
|
---|
419 | if ! [ ${fails[1]} -eq -1 ]
|
---|
420 | then
|
---|
421 | sizefails=( `ls -lH $localfailpath/$rawfile2 2>/dev/null | awk '{ print \$5 }'` )
|
---|
422 | fi
|
---|
423 | if ! [ ${wue[1]} -eq -1 ]
|
---|
424 | then
|
---|
425 | sizewue=( `ssh operator@coma.astro.uni-wuerzburg.de "ls -l $wuerawpath/$rawfile2 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
426 | fi
|
---|
427 | # echo "vgl "$run": "$sizezip" - "$sizearchive
|
---|
428 | #if ! [ ${phido[1]} -eq -1 ]
|
---|
429 | #then
|
---|
430 | # sizephido=( `ssh -i /home_nfs/isdc/fact_opr/.ssh/id_rsa.fact_opr.phido 129.217.160.201 "ls -l $phidorawpath/$rawfile2 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
431 | #fi
|
---|
432 |
|
---|
433 | # check file sizes for run
|
---|
434 | # lp
|
---|
435 | if ! [ "$sizenewdaq" = "$sizedaq" ]
|
---|
436 | then
|
---|
437 | echo " "$rawfile" newdaq("$sizenewdaq") daq("$sizedaq")"
|
---|
438 | daqdiffcounter=`echo " $daqdiffcounter + 1 " | bc -l `
|
---|
439 | else
|
---|
440 | daqokcounter=`echo " $daqokcounter + 1 " | bc -l `
|
---|
441 | fi
|
---|
442 | # dl00
|
---|
443 | if ! [ "$sizezip" = "$sizedl00" ] && ! [ ${dl00[1]} -eq -1 ]
|
---|
444 | then
|
---|
445 | echo " "$rawfile2" data("$sizezip") dl00("$sizedl00")"
|
---|
446 | dl00diffcounter=`echo " $dl00diffcounter + 1 " | bc -l `
|
---|
447 | else
|
---|
448 | dl00okcounter=`echo " $dl00okcounter + 1 " | bc -l `
|
---|
449 | fi
|
---|
450 | # archive
|
---|
451 | #if [ "$sizezip" != "$sizearchive" -a ${archive[1]} -ne -1 -a "$sizearchive" != "" ] || [ "$sizezip" != "$sizefails" -a ${fails[1]} -ne -1 -a "$sizefails" != "" ] #not yet ingested files are treated wrongly
|
---|
452 | #if [ ${archive[1]} -ne -1 ] && [ "$sizezip" != "$sizearchive" -o "$sizezip" != "$sizefails" ]
|
---|
453 | if [ ${archive[1]} -ne -1 -a "$sizezip" != "$sizearchive" -a "$sizezip" != "$sizefails" ]
|
---|
454 | then
|
---|
455 | echo " "$rawfile2" data("$sizezip") archive("$sizearchive"/"$sizefails")"
|
---|
456 | echo " "$sizezip"-"$sizearchive"-"${archive[1]}"-"$sizezip"-"$sizefails"-"${fails[1]}
|
---|
457 | archivediffcounter=`echo " $archivediffcounter + 1 " | bc -l `
|
---|
458 | else
|
---|
459 | archiveokcounter=`echo " $archiveokcounter + 1 " | bc -l `
|
---|
460 | fi
|
---|
461 | # wue
|
---|
462 | if ! [ "$sizezip" = "$sizewue" ] && ! [ ${wue[1]} -eq -1 ]
|
---|
463 | then
|
---|
464 | echo " "$rawfile2" data("$sizezip") wue("$sizewue")"
|
---|
465 | wuediffcounter=`echo " $wuediffcounter + 1 " | bc -l `
|
---|
466 | else
|
---|
467 | wueokcounter=`echo " $wueokcounter + 1 " | bc -l `
|
---|
468 | fi
|
---|
469 | ## phido
|
---|
470 | #if ! [ "$sizezip" = "$sizephido" ] && ! [ ${phido[1]} -eq -1 ]
|
---|
471 | #then
|
---|
472 | # echo " "$rawfile2" data("$sizezip") phido("$sizephido")"
|
---|
473 | # phidodiffcounter=`echo " $phidodiffcounter + 1 " | bc -l `
|
---|
474 | #else
|
---|
475 | # phidookcounter=`echo " $phidookcounter + 1 " | bc -l `
|
---|
476 | #fi
|
---|
477 | done
|
---|
478 | query="SELECT fRunID FROM RunInfo WHERE fNight="$date2" AND fHasDrsFile=1"
|
---|
479 | drsruns=( `sendquery` )
|
---|
480 | echo "INFO found "${#drsruns[@]}" drsfiles in DB."
|
---|
481 | for drsrun in ${drsruns[@]}
|
---|
482 | do
|
---|
483 | rawfile=$date2"_"`printf %03d $drsrun`".drs.fits"
|
---|
484 | rawfile2=$rawfile".gz"
|
---|
485 | # get file sizes for run
|
---|
486 | sizenewdaq=( `ssh fact@161.72.93.131 "ls -l ${lprawpath}/${rawfile} 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
487 | sizedaq=( `ssh fact@161.72.93.131 "ls -l $lprawpath2/$rawfile 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
488 | sizezip=( `ssh fact@161.72.93.131 "ls -l $lpziprawpath/$rawfile2 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
489 | if ! [ ${dl00[1]} -eq -1 ]
|
---|
490 | then
|
---|
491 | sizedl00=( `ls -l $localrawpath/$rawfile2 2>/dev/null | awk '{ print \$5 }'` )
|
---|
492 | fi
|
---|
493 | if ! [ ${archive[1]} -eq -1 ]
|
---|
494 | then
|
---|
495 | sizearchive=( `ls -l $localrawpath3/$rawfile2 2>/dev/null | awk '{ print \$5 }'` )
|
---|
496 | fi
|
---|
497 | if ! [ ${fails[1]} -eq -1 ]
|
---|
498 | then
|
---|
499 | sizefails=( `ls -l $localfailpath/$rawfile2 2>/dev/null | awk '{ print \$5 }'` )
|
---|
500 | fi
|
---|
501 | if ! [ ${wue[1]} -eq -1 ]
|
---|
502 | then
|
---|
503 | sizewue=( `ssh operator@coma.astro.uni-wuerzburg.de "ls -l $wuerawpath/$rawfile2 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
504 | fi
|
---|
505 | #if ! [ ${phido[1]} -eq -1 ]
|
---|
506 | #then
|
---|
507 | # sizephido=( `ssh -i /home_nfs/isdc/fact_opr/.ssh/id_rsa.fact_opr.phido 129.217.160.201 "ls -l $phidorawpath/$rawfile2 2>/dev/null | awk '{ print \\\$5 }'"` )
|
---|
508 | #fi
|
---|
509 |
|
---|
510 | # check file sizes for run
|
---|
511 | # lp
|
---|
512 | if ! [ "$sizenewdaq" = "$sizedaq" ]
|
---|
513 | then
|
---|
514 | echo " "$rawfile" newdaq("$sizenewdaq") daq("$sizedaq")"
|
---|
515 | daqdiffcounter=`echo " $daqdiffcounter + 1 " | bc -l `
|
---|
516 | else
|
---|
517 | daqokcounter=`echo " $daqokcounter + 1 " | bc -l `
|
---|
518 | fi
|
---|
519 | # dl00
|
---|
520 | if ! [ "$sizezip" = "$sizedl00" ] && ! [ ${dl00[1]} -eq -1 ]
|
---|
521 | then
|
---|
522 | echo " "$rawfile2" data("$sizezip") dl00("$sizedl00")"
|
---|
523 | dl00diffcounter=`echo " $dl00diffcounter + 1 " | bc -l `
|
---|
524 | else
|
---|
525 | dl00okcounter=`echo " $dl00okcounter + 1 " | bc -l `
|
---|
526 | fi
|
---|
527 | #if [ "$sizezip" != "$sizearchive" -a ${archive[1]} -ne -1 ] || [ "$sizezip" != "$sizefails" -a ${fails[1]} -ne -1 ]
|
---|
528 | if [ "$sizezip" != "$sizearchive" -a ${archive[1]} -ne -1 -a "$sizearchive" != "" ] || [ "$sizezip" != "$sizefails" -a ${fails[1]} -ne -1 -a "$sizefails" != "" ]
|
---|
529 | then
|
---|
530 | echo " "$rawfile2" data("$sizezip") archive("$sizearchive"/"$sizefails")"
|
---|
531 | archivediffcounter=`echo " $archivediffcounter + 1 " | bc -l `
|
---|
532 | else
|
---|
533 | archiveokcounter=`echo " $archiveokcounter + 1 " | bc -l `
|
---|
534 | fi
|
---|
535 | # wue
|
---|
536 | if ! [ "$sizezip" = "$sizewue" ] && ! [ ${wue[1]} -eq -1 ]
|
---|
537 | then
|
---|
538 | echo " "$rawfile2" data("$sizezip") wue("$sizewue")"
|
---|
539 | wuediffcounter=`echo " $wuediffcounter + 1 " | bc -l `
|
---|
540 | else
|
---|
541 | wueokcounter=`echo " $wueokcounter + 1 " | bc -l `
|
---|
542 | fi
|
---|
543 | ## phido
|
---|
544 | #if ! [ "$sizezip" = "$sizephido" ] && ! [ ${phido[1]} -eq -1 ]
|
---|
545 | #then
|
---|
546 | # echo " "$rawfile2" data("$sizezip") phido("$sizephido")"
|
---|
547 | # phidodiffcounter=`echo " $phidodiffcounter + 1 " | bc -l `
|
---|
548 | #else
|
---|
549 | # phidookcounter=`echo " $phidookcounter + 1 " | bc -l `
|
---|
550 | #fi
|
---|
551 | done
|
---|
552 |
|
---|
553 | result=$result"-"
|
---|
554 | # raw files
|
---|
555 | if [ $daqokcounter -eq ${daq[0]} ]
|
---|
556 | then
|
---|
557 | numok=`echo " $numok + 1 " | bc -l `
|
---|
558 | result=$result"0"
|
---|
559 | else
|
---|
560 | result=$result"1"
|
---|
561 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
562 | fi
|
---|
563 | # zipped files
|
---|
564 | # dl00
|
---|
565 | if [ $dl00okcounter -eq ${dl00[0]} ]
|
---|
566 | then
|
---|
567 | result=$result"0"
|
---|
568 | numok=`echo " $numok + 1 " | bc -l `
|
---|
569 | else
|
---|
570 | result=$result"1"
|
---|
571 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
572 | fi
|
---|
573 | # archive
|
---|
574 | # daq had been used, because archive[0] doesn't include fails[0]
|
---|
575 | #if [ $archiveokcounter -eq ${newdaq[0]} ]
|
---|
576 | # archive[0] had been used, because newdaq[0] might be empty
|
---|
577 | # in case the data was taken on data
|
---|
578 | #if [ $archiveokcounter -eq ${archive[0]} ]
|
---|
579 | # compare with daq[0] as there should be always data on data
|
---|
580 | if [ $archiveokcounter -eq ${daq[0]} ]
|
---|
581 | then
|
---|
582 | result=$result"0"
|
---|
583 | numok=`echo " $numok + 1 " | bc -l `
|
---|
584 | else
|
---|
585 | result=$result"1"
|
---|
586 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
587 | fi
|
---|
588 | # wue
|
---|
589 | if [ $wueokcounter -eq ${wue[0]} ]
|
---|
590 | then
|
---|
591 | result=$result"0"
|
---|
592 | numok=`echo " $numok + 1 " | bc -l `
|
---|
593 | else
|
---|
594 | result=$result"1"
|
---|
595 | numpb=`echo " $numpb + 1 " | bc -l `
|
---|
596 | fi
|
---|
597 | ## phido
|
---|
598 | #if [ $phidookcounter -eq ${phido[0]} ]
|
---|
599 | #then
|
---|
600 | # result=$result"0"
|
---|
601 | # numok=`echo " $numok + 1 " | bc -l `
|
---|
602 | #else
|
---|
603 | # result=$result"1"
|
---|
604 | # numpb=`echo " $numpb + 1 " | bc -l `
|
---|
605 | #fi
|
---|
606 | echo "INFO "$daqokcounter" files are ok on daq (raw)."
|
---|
607 | echo "INFO "$dl00okcounter" files are ok on dl00."
|
---|
608 | echo "INFO "$wueokcounter" files are ok in Wue."
|
---|
609 | echo "INFO "$archiveokcounter" files are ok in the archive."
|
---|
610 | #echo "INFO "$phidookcounter" files are ok on Phido."
|
---|
611 | echo "WARN "$daqdiffcounter" files have a different size on daq (raw)."
|
---|
612 | echo "WARN "$dl00diffcounter" files have a different size on dl00."
|
---|
613 | echo "WARN "$wuediffcounter" files have a different size in Wue."
|
---|
614 | echo "WARN "$archivediffcounter" files have a different size in the archive."
|
---|
615 | #echo "WARN "$phidodiffcounter" files have a different size on Phido."
|
---|
616 | fi
|
---|
617 |
|
---|
618 | # print summary:
|
---|
619 | echo "INFO day ok: "$numdaysok
|
---|
620 | echo "INFO numok: "$numok
|
---|
621 | echo "INFO numpb: "$numpb
|
---|
622 | echo "result:"
|
---|
623 | echo "(#files-dudir-db-filesize)"
|
---|
624 | #echo " ldawp-ldawp-ldawp-ldawp"
|
---|
625 | echo " ldaw-ldaw-ldaw-ldaw"
|
---|
626 | echo " "$result
|
---|
627 | sumdatanew=`echo " ( ${daq[1]} + ${zip[1]} ) / 1024 / 1024 / 1024 " | bc -l | cut -d. -f1`
|
---|
628 | sumdata=`echo " $sumdata + $sumdatanew " | bc -l | cut -d. -f1`
|
---|
629 | echo "checked alread "$sumdata" GB. "$sumdatanew" "${daq[1]}" "${zip[1]}
|
---|
630 | if [ $numpb -lt 4 ]
|
---|
631 | then
|
---|
632 | numdaysok=`echo " $numdaysok + 1 " | bc -l `
|
---|
633 | fi
|
---|
634 | done
|
---|
635 |
|
---|
636 | printprocesslog "INFO finished $0"
|
---|
637 |
|
---|