ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/Processing/bin/monitor.sh
Revision: 1.1
Committed: Thu Jan 6 22:42:02 2011 UTC (14 years, 4 months ago) by paus
Content type: application/x-sh
Branch: MAIN
CVS Tags: Mit_025c_branch2, Mit_025c_branch1, Mit_029_pre1, Mit_028a, Mit_025c_branch0, Mit_028, Mit_027a, Mit_027, Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018
Branch point for: Mit_025c_branch
Log Message:
Adding more powerful copy.

File Contents

# User Rev Content
1 paus 1.1 #!/bin/bash
2     #---------------------------------------------------------------------------------------------------
3     # Monitor progress of download into a given directory
4     #---------------------------------------------------------------------------------------------------
5     H=`basename $0`
6    
7     ## DIR=/pnfs/cmsaf.mit.edu/t2bat/cms/store/user/paus/filefi/015
8     DIR=$1
9     PATTERN=$2
10    
11     # total size and starting point
12     startTime=$(date +%s)
13     totSize=`du -s --block-size=1G $DIR | cut -f1`
14     startSize=$totSize
15     lastSize=$totSize
16     lastTime=$(date +%s);
17    
18     while [ 1 -ge 0 ]
19     do
20    
21     nowTime=$(date +%s);
22     totSize=`du -s --block-size=1G $DIR | cut -f1`
23    
24     lastDuration=$(($nowTime - $lastTime))
25     lastAdded=$(($totSize - $lastSize))
26    
27     duration=$(($nowTime - $startTime))
28     totAdded=$(($totSize - $startSize))
29    
30     if [ $duration -gt 0 ] && [ $lastDuration -gt 0 ]
31     then
32     totRate=` echo h | awk "{ print $totAdded/$duration }"`
33     lastRate=`echo h | awk "{ print $lastAdded/$lastDuration }"`
34     else
35     totRate=0
36     lastRate=0
37     fi
38     clear
39     date=`date +"Refresh 100 sec -- last update %H:%M:%S [%d/%m/%y]"`
40     lCols=`stty size | cut -d' ' -f2`
41     printf "%${lCols}s" "$date"
42     echo " "
43     echo "==== Transfer rate to $DIR ===="
44     echo " "
45     if [ "$PATTERN" == "" ]
46     then
47     du -sh $DIR/* | tail -44
48     else
49     du -sh $DIR/* | grep $PATTERN
50     fi
51     echo " "
52     printf "==== Size [GB] : %6d (last: %6d) ====\n" $totSize $lastSize
53     printf "==== Rate [GB/sec]: %6.3f (last: %6.3f) ====\n" $totRate $lastRate
54     #echo "==== Size [GB] : $totSize (last: $lastSize) ===="
55     #echo "==== Rate [GB/sec]: $totRate (last: $lastRate) ===="
56     echo " "
57     #echo "== $duration - $lastDuration =="
58    
59     # update last status
60     lastSize=$totSize
61     lastTime=$nowTime
62    
63     # finally wait a bit
64     sleep 100
65    
66     done
67    
68     exit 0