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

Last change on this file since 17120 was 17103, checked in by Daniela Dorner, 11 years ago
adapted for usage of rsync servers
  • Property svn:executable set to *
File size: 3.1 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 rsyncserverdir=`echo $dir | sed -e 's/^\//172.16.100.100::/' -e 's/loc_data/newdaq/'`
72 # old
73 #if ! /usr/bin/rsync -avxHP -T $rsynctempdir $bwlimit newdaq:$dir/ $dir >> $logfile 2>&1
74 # new (temporary until pb on daq is solved)
75 if ! /usr/bin/rsync -avxHP -T $rsynctempdir $bwlimit $rsyncserverdir/ $dir >> $logfile 2>&1
76 then
77 printprocesslog "WARN problem rsyncing auxiliary files in "$dir" from newdaq to daq"
78 echo `date`": problem rsyncing auxiliary files in "$dir" from newdaq to daq"
79 fi
80
81 # rsynctemp-dir -> use one on data!!! i.e. has to be /data/rsync_tmp
82 # rsync from daq to data
83 # old (rsynctempdirdata not tested)
84 #rsynctempdirdata=`echo $rsynctempdir | sed -e 's/loc_//'`
85 #if ! /usr/bin/rsync -avxHP -T $rsynctempdirdata $bwlimit $dir/ $dirdata >> $logfile 2>&1
86 # new
87 rsyncserverdirdata=`echo $dir | sed -e 's/^\//data::/' -e 's/loc_//'`
88 rsynctempdirdata=/rsync_tmp
89 if ! /usr/bin/rsync -avxHP -T $rsynctempdirdata $bwlimit $dir/ $rsyncserverdirdata >> $logfile 2>&1
90 then
91 printprocesslog "WARN problem rsyncing auxiliary files in "$dir" from daq to data"
92 echo `date`": problem rsyncing auxiliary files in "$dir" from daq to data"
93 fi
94done
95
Note: See TracBrowser for help on using the repository browser.