Révision 66

bin/zfs-replica (revision 66)
14 14
>$TEMP_FILE_NAME
15 15
BINZFS="/sbin/zfs"
16 16
BINZPOOL="/sbin/zpool"
17
BINMBUFFER="mbuffer -4 -v 0 -q -s 128k -m 1G"
18
LOCALHOST=$(hostname -s)
17 19

  
18 20
#********************************
19 21
#* function initenv
......
73 75

  
74 76
}
75 77

  
78
function computePort {
79
# add a number, based on replica name, to mbuffer base port.
80
# This try to avoid problems, on multiple replicas cases, such as reception of 
81
# different replicas on same mbuffer port: yeah, epic fail!
82
  BasePORT="1030"
83
  #for i in $(echo $snapshot2replicate| od -An -t u1); do j=$(($j+$i)); echo $j; done
84
  SumChar=0
85
  BaseChars=$(echo $snapshot2replicate | od -An -t u1)
86
  for i in $BaseChars
87
  do
88
    SumChar=$(($SumChar+$i))
89
  done
90
  PORT=$(($BasePORT+$SumChar))
91
}
92

  
93

  
76 94
function checkCoherence {
77 95
  ssh -o BatchMode=yes root@$server $BINZFS list $namereplica
78 96
  if [ "$?" != "0" ]
......
182 200
      ssh -o BatchMode=yes root@$server $BINZFS create -p $parentdataset
183 201
    fi
184 202

  
185
    $BINZFS send $snapshot2replicate |ssh -o BatchMode=yes root@$server $BINZFS recv $namereplica
203
#    $BINZFS send $snapshot2replicate |ssh -o BatchMode=yes root@$server $BINZFS recv $namereplica
204
    computePort
205
    ssh -o BatchMode=yes root@$server "$BINMBUFFER -I $LOCALHOST:$PORT | $BINZFS recv $namereplica " &
206
    sleep 5s # allow server to be ready
207
    $BINZFS send $snapshot2replicate | $BINMBUFFER -O $server:$PORT
186 208
    if [[ "$?" == "0" ]]
187 209
    then
188 210
       while read line
......
225 247
then
226 248
   exit 1
227 249
else
228
    $BINZFS send -i $lastsnapshotReplicated $namevolfs@$snasphot2replicate | ssh -o BatchMode=yes root@$server $BINZFS recv $namereplica
250
    #$BINZFS send -i $lastsnapshotReplicated $namevolfs@$snasphot2replicate | ssh -o BatchMode=yes root@$server $BINZFS recv $namereplica
251
    computePort
252
    ssh -o BatchMode=yes root@$server "$BINMBUFFER -I $LOCALHOST:$PORT | $BINZFS recv $namereplica " &
253
    sleep 5s # allow server to be ready
254
    $BINZFS send -i $lastsnapshotReplicated $namevolfs@$snasphot2replicate | $BINMBUFFER -O $server:$PORT
229 255
    snapshot2replicate="$namevolfs@$snasphot2replicate"
230 256
    if [[ "$?" == "0" ]]
231 257
    then

Formats disponibles : Unified diff