source: trunk/DataCheck/Transfer/RsyncAuxLP.sh@ 16126

Last change on this file since 16126 was 15594, checked in by Daniela Dorner, 12 years ago
changed limit to 5 MB/s during night
  • Property svn:executable set to *
File size: 2.5 KB
Line 
1#!/bin/bash
2
3# this script has been written to run on La Palma on the machine daq
4# i.e. paths are only working on this machine
5
6source `dirname $0`/../Sourcefile.sh
7printprocesslog "INFO starting "$0
8
9logfile=$runlogpath"/RsyncAuxLP-"$datetime".log"
10date >> $logfile
11
12# check if /daq is mounted on data
13if ! mount | grep data >> $logfile 2>&1
14then
15 printprocesslog "ERROR /data is not mounted on daq => please mount it"
16 echo `date`": /data is not mounted on daq => please mount it"
17 finish
18fi
19
20# check if paths are available
21if ! ls /data/aux >/dev/null 2>&1
22then
23 printprocesslog "ERROR /data/aux is not available."
24 finish
25fi
26if ! ls /loc_data/aux >/dev/null 2>&1
27then
28 printprocesslog "ERROR /loc_data/aux is not available."
29 finish
30fi
31
32# do the rsync for the last 6 days
33dirs=( `ssh newdaq "find /loc_data/aux/ -mindepth 3 -type d | sort | tail -6"` )
34
35# do rsync for auxfiles in these directories
36for dir in ${dirs[@]}
37do
38 echo "" >> $logfile 2>&1
39 # directory on daq
40 if ! [ -d $dir ]
41 then
42 mkdir -pv $dir >> $logfile 2>&1
43 fi
44 # directory on data
45 dirdata=`echo $dir | sed -e 's/loc_//'`
46 if ! [ -d $dirdata ]
47 then
48 mkdir -pv $dirdata >> $logfile 2>&1
49 fi
50 printprocesslog "INFO processing files in "$dir >> $logfile 2>&1
51 echo `date`": processing files in "$dir >> $logfile 2>&1
52
53 # get current hour
54 hour=`date +%k`
55 # define bwlimit for rsync depending on the time: from 19-7h reduced bwlimit for rsync
56 if [ $hour -le 6 ] || [ $hour -ge 19 ]
57 then
58 # limit bw for rsync to 20 MB/s during night
59 bwlimit="--bwlimit=20000"
60 bwlimit="--bwlimit=5000"
61 printprocesslog "INFO rsync files with "$bwlimit >> $logfile 2>&1
62 echo "rsync files with "$bwlimit >> $logfile 2>&1
63 else
64 # no bw limit during day
65 bwlimit=""
66 printprocesslog "INFO rsync files without bwlimit" >> $logfile 2>&1
67 echo "rsync files without bwlimit" >> $logfile 2>&1
68 fi
69
70 # rsync from newdaq to daq
71 if ! /usr/bin/rsync -avxHP -T $rsynctempdir $bwlimit newdaq:$dir/ $dir >> $logfile 2>&1
72 then
73 printprocesslog "WARN problem rsyncing auxiliary files in "$dir" from newdaq to daq"
74 echo `date`": problem rsyncing auxiliary files in "$dir" from newdaq to daq"
75 fi
76
77 #rsync from daq to data
78 if ! /usr/bin/rsync -avxHP -T $rsynctempdir $bwlimit $dir/ $dirdata >> $logfile 2>&1
79 then
80 printprocesslog "WARN problem rsyncing auxiliary files in "$dir" from daq to data"
81 echo `date`": problem rsyncing auxiliary files in "$dir" from daq to data"
82 fi
83done
84
Note: See TracBrowser for help on using the repository browser.