1 | #!/bin/bash
|
---|
2 |
|
---|
3 | sourceFolder=$1
|
---|
4 | archiveFolder=$2
|
---|
5 | suffix=$3
|
---|
6 |
|
---|
7 | #are the arguments subfolders of /data00/fact-construction and /archive/fact ?
|
---|
8 | sourceOk=`echo $sourceFolder | sed "s/data00\/fact-construction\/raw/OK/"`
|
---|
9 | archiveOk=`echo $archiveFolder | sed "s/archive\/fact\/rev_1\/raw/OK/"`
|
---|
10 |
|
---|
11 | sourceOk=`echo $sourceOk | grep OK`
|
---|
12 | archiveOk=`echo $archiveOk | grep OK`
|
---|
13 |
|
---|
14 | if [ "$sourceOk" == "" ]
|
---|
15 | then
|
---|
16 | echo "source folder not good."
|
---|
17 | exit
|
---|
18 | fi
|
---|
19 |
|
---|
20 | if [ "$archiveOk" == "" ]
|
---|
21 | then
|
---|
22 | echo "archive folder not good"
|
---|
23 | exit
|
---|
24 | fi
|
---|
25 |
|
---|
26 | uncompressedFolder=`echo $sourceFolder | sed "s/data00/data03/"`
|
---|
27 |
|
---|
28 | #do the listing of the files to be checked
|
---|
29 | entries=`find $sourceFolder -type f -name '*.fits.gz' | sort`
|
---|
30 |
|
---|
31 | for entry in ${entries[@]}
|
---|
32 | do
|
---|
33 | echo "$entry" >> GGfileSequence$suffix.txt
|
---|
34 |
|
---|
35 | uncompressedEntry=`echo $entry | sed "s/data00/data03/"`
|
---|
36 | uncompressedEntry=`echo $uncompressedEntry | sed "s/.gz//"`
|
---|
37 | archiveEntry=`echo $entry | sed "s/data00\/fact-construction/archive\/fact\/rev_1/"`
|
---|
38 | corruptedFile="0"
|
---|
39 | if [ -f $uncompressedEntry ]
|
---|
40 | then
|
---|
41 | result=`fverify $uncompressedEntry 2>/dev/null | grep '0 error(s)'`
|
---|
42 | if [ "$result" == "" ]
|
---|
43 | then
|
---|
44 | if [ -f $archiveEntry ]
|
---|
45 | then
|
---|
46 | echo "$entry" >> GGcorruptFiles$suffix.txt
|
---|
47 | fi
|
---|
48 | corruptedFile="1"
|
---|
49 | fi
|
---|
50 | else
|
---|
51 | echo "$entry" >> GGmissingUncompressed$suffix.txt
|
---|
52 | echo "$entry is missing uncompressed"
|
---|
53 | continue
|
---|
54 | fi
|
---|
55 |
|
---|
56 | if [ -f $archiveEntry ]
|
---|
57 | then
|
---|
58 | result=`/home_nfs/isdc/lyard/FACT++/fitsCompare $entry $archiveEntry`
|
---|
59 | if [ "$result" == "0" ]
|
---|
60 | then
|
---|
61 | echo "$entry" >> GGidenticalFiles$suffix.txt
|
---|
62 | echo "$entry is fine"
|
---|
63 | continue
|
---|
64 | fi
|
---|
65 | if [ "$result" == "1" ]
|
---|
66 | then
|
---|
67 | echo "$entry" >> GGdifferentFiles$suffix.txt
|
---|
68 | echo "$entry differs from its archived version"
|
---|
69 | continue
|
---|
70 | fi
|
---|
71 | if [ "$result" == "2" ]
|
---|
72 | then
|
---|
73 | echo "$entry" >> GGunexpectedErrors$suffix.txt
|
---|
74 | echo "$entry encountered an unexpected error"
|
---|
75 | continue
|
---|
76 | fi
|
---|
77 | if [ "$result" == "3" ]
|
---|
78 | then
|
---|
79 | echo "$entry" >> GGfineWithMoreRows$suffix.txt
|
---|
80 | echo "$entry is fine (with more rows !"
|
---|
81 | continue
|
---|
82 | fi
|
---|
83 | if [ "$corryuptedFile" == "1"]
|
---|
84 | then
|
---|
85 | echo "$entry is corrupted and produced unkown error $result"
|
---|
86 | else
|
---|
87 | echo "$entry produced unkown error $result"
|
---|
88 | fi
|
---|
89 | echo "$entry $result" >> GGunknownErrors$suffix.txt
|
---|
90 | else
|
---|
91 | if [ "$corruptedFile" == "1" ]
|
---|
92 | then
|
---|
93 | echo "$entry" >> GGreallymessedup$suffix.txt
|
---|
94 | echo "$entry is really messed up"
|
---|
95 | else
|
---|
96 | echo "$entry" >> GGmissingArchive$suffix.txt
|
---|
97 | echo "$entry is missing archive"
|
---|
98 | fi
|
---|
99 | fi
|
---|
100 | done
|
---|