source: tags/Mars-V2.0/datacenter/scripts/checkmd5sum

Last change on this file was 8682, checked in by snruegam, 17 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 3.5 KB
Line 
1#!/bin/sh
2#
3# ========================================================================
4#
5# *
6# * This file is part of MARS, the MAGIC Analysis and Reconstruction
7# * Software. It is distributed to you in the hope that it can be a useful
8# * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
9# * It is distributed WITHOUT ANY WARRANTY.
10# *
11# * Permission to use, copy, modify and distribute this software and its
12# * documentation for any purpose is hereby granted without fee,
13# * provided that the above copyright notice appear in all copies and
14# * that both that copyright notice and this permission notice appear
15# * in supporting documentation. It is provided "as is" without express
16# * or implied warranty.
17# *
18#
19#
20# Author(s): Stefan Ruegamer 05/2007 <mailto:snruegam@astro.uni-wuerzburg.de>
21#
22# Copyright: MAGIC Software Development, 2000-2007
23#
24#
25# ========================================================================
26#
27# This script is checking the md5 sums of files read from tape. It
28# computes the checksums for the extracted files and compares them with
29# the checksums from La Palma, read out from the md5 sum file which is
30# transferred together with the logfile.
31#
32# The script will be automised by being executed after reading tapes with
33# the not-yet finished script readlapalmatapes. At the moment it is being
34# executed by hand.
35#
36
37echo "Please specify the tape number (e.g. 3MG005)."
38read no
39echo "Thank you. Your query is being processed. This may take some time."
40
41checkpath=/home/lapalma/tapecont/cont/muxdata/checksums
42file=/home/lapalma/tapecont/cont/muxdata/tape_${no}L*.md5
43L=`echo $file | cut -c49`
44id=${no}L${L}
45
46if [ ! -f $file ]
47then
48 echo "tape $file not found -> aborting"
49 exit
50fi
51
52if [ ${checkpath}/tape_${id}.md5.lapalma ] || [ -f ${checkpath}/tape_${id}.md5.wue ]
53then
54 echo "Output files already existing. Are you sure you wish to continue (yes/no)?"
55 read cont
56 if [ ! $cont == "yes" ]
57 then
58 echo "Aborting."
59 exit
60 fi
61fi
62
63date | tee ${checkpath}/tape_${id}.md5.lapalma | tee ${checkpath}/tape_${id}.md5.wue
64
65# read the tapecont file line by line
66while read line
67do
68 muxchk=`echo $line | cut -d/ -f1`
69 # only check muxdata, not cc-, caco- or drivelog-files
70 if [ "$muxchk" = "muxdata" ]
71 then
72 sum=($line)
73 # reformat the files and checksums correctly and compare them
74 echo "${sum[1]} ${sum[0]}" >> ${checkpath}/tape_${id}.md5.lapalma
75
76 ssh -nx phoenix nice -n 19 /opt/csw/bin/gmd5sum /magic/datacenter/fromtape/${sum[0]} | sed -e 's/\/magic\/datacenter\/fromtape\///' >> ${checkpath}/tape_${id}.md5.wue
77 #md5sum /magic/datacenter/fromtape/${sum[0]} | sed -e 's/\/magic\/datacenter\/fromtape\///' >> ${checkpath}/tape_${id}.md5.wue
78 fi
79done < $file
80
81date | tee -a ${checkpath}/tape_${id}.md5.lapalma | tee -a ${checkpath}/tape_${id}.md5.wue
82
83if [ ! -f ${checkpath}/tape_${id}.md5.lapalma ] || [ ! -f ${checkpath}/tape_${id}.md5.wue ]
84then
85 echo "No output files written! Something went wrong... -> aborting"
86 exit
87fi
88
89echo "Wrote checksums to ${checkpath}/tape_${id}.md5.lapalma and ${checkpath}/tape_${id}.md5.wue. Comparing now."
90
91
92# check for differences in the checksums
93output=`diff ${checkpath}/tape_${id}.md5.lapalma ${checkpath}/tape_${id}.md5.wue`
94
95if [ "$output" = "" ]
96then
97 echo "All checksums are ok!"
98else
99 echo -e "The files are not identical! diff found the following differences:\n$output"
100fi
101
102echo "program terminated."
Note: See TracBrowser for help on using the repository browser.