ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/Processing/bin/download.sh
Revision: 1.5
Committed: Mon Sep 19 21:45:40 2011 UTC (13 years, 7 months ago) by paus
Content type: application/x-sh
Branch: MAIN
CVS Tags: Mit_025pre2
Changes since 1.4: +6 -4 lines
Log Message:
Reinstate the bin and python areas.

File Contents

# User Rev Content
1 paus 1.1 #!/bin/bash
2     #---------------------------------------------------------------------------------------------------
3     # Go through a number of download requests
4     #---------------------------------------------------------------------------------------------------
5     H=`basename $0`
6     SAMPLE_LIST=$1
7     MIT_LOCATION="/pnfs/cmsaf.mit.edu/t2bat/cms/store/user/paus"
8     CERN_LOCATION="/castor/cern.ch/user/p/paus"
9    
10 paus 1.4 # start next request
11     remainingMax=0
12    
13 paus 1.1 # health checks
14     if [ ".$1" == "." ]
15     then
16     echo "";
17     echo "usage: $H <sampleList>";
18     echo ""
19     exit 1
20     fi
21    
22     # say what we do
23     echo ""
24     echo " ==== Download queue from $SAMPLE_LIST ===="
25     echo ""
26    
27     # check that queues are really empty
28 paus 1.4 dataset="XXX"
29 paus 1.1 startTime=$(date +%s)
30     nowTime=$(date +%s); duration=$(($nowTime - $startTime))
31 paus 1.5 format='-format "%d " ClusterId -format "%s " Cmd -format "%s \n" Args'
32     jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l`
33 paus 1.4 #jobs=`condor_q -global $USER | grep downloadFiles.sh | wc -l`
34     while [ $jobs -gt $remainingMax ]
35 paus 1.1 do
36     echo " waiting since $duration sec == condor queue has $jobs jobs left"; sleep 60; echo ""
37 paus 1.5 jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l`
38 paus 1.4 #jobs=`condor_q -global $USER | grep downloadFiles.sh | wc -l`
39 paus 1.1 nowTime=$(date +%s); duration=$(($nowTime - $startTime))
40     done
41 paus 1.3 echo " Queues are close to empty ($jobs) -- Let's get started."
42 paus 1.1 echo ""
43    
44     # all right, ready to download
45     nSamples=`cat $SAMPLE_LIST | wc -l | cut -d ' ' -f1`
46     i=1
47     while [ $i -le $nSamples ]
48     do
49 paus 1.5 startTime=$(date +%s)
50 paus 1.1
51     line=`head -$i $SAMPLE_LIST | tail -1`
52     if [ "`echo $line | grep ^#`" != "" ]
53     then
54     i=$(( $i+1 ))
55     continue
56     fi
57    
58     # define some quantities
59 paus 1.3 baseDir=`echo $line | tr -s ' ' | cut -d ' ' -f 1`
60 paus 1.1 book=`echo $line | tr -s ' ' | cut -d ' ' -f 2`
61     version=`basename $book`
62     dataset=`echo $line | tr -s ' ' | cut -d ' ' -f 3`
63 paus 1.4 targetDir=`echo $line | tr -s ' ' | cut -d ' ' -f 4`
64 paus 1.1
65 paus 1.3 # stagein the sample if it is at CERN
66     if [ "`echo $baseDir | grep /castor/cern.ch`" != "" ]
67     then
68 paus 1.4 echo " ssh paus@lxplus.cern.ch ./stageSample.py --dataDir=$baseDir/$book/$dataset"
69 paus 1.3 ssh paus@lxplus.cern.ch ./stageSample.py --dataDir=$baseDir/$book/$dataset
70     fi
71    
72     # download the sample
73     echo " downloadSample.sh $line"
74 paus 1.1 downloadSample.sh $line
75    
76 paus 1.3 # go into waiting loop
77 paus 1.1 nowTime=$(date +%s); duration=$(($nowTime - $startTime))
78 paus 1.4 #jobs=`condor_q -global $USER | grep downloadFiles.sh | wc -l`
79 paus 1.5 jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l`
80 paus 1.4 while [ $jobs -gt $remainingMax ]
81 paus 1.1 do
82     echo " waiting since $duration sec == condor queue has $jobs jobs left"; sleep 60; echo ""
83 paus 1.4 #jobs=`condor_q -global $USER | grep downloadFiles.sh | wc -l`
84 paus 1.5 jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l`
85 paus 1.1 nowTime=$(date +%s); duration=$(($nowTime - $startTime))
86     done
87     echo " Queues are empty ($jobs) --> cleaning up and making catalogs."
88     echo ""
89    
90     # remove zero length files
91 paus 1.4 echo "removeZeroLengthFiles.sh $targetDir/$book/$dataset"
92     removeZeroLengthFiles.sh $targetDir/$book/$dataset
93 paus 1.1
94     # finally make the corresponding catalog
95 paus 1.4 echo "catalog.sh -ceg $version $dataset --retry $targetDir"
96     catalog.sh -ceg $version $dataset --retry $targetDir
97 paus 1.1
98     i=$(( $i+1 ))
99    
100     done
101    
102     exit 0