|
@@ -1,185 +0,0 @@
|
|
|
-#!/bin/bash
|
|
|
-clear
|
|
|
-
|
|
|
-LoclaIP="10.0.4.2"
|
|
|
-Rshot="Raid10_pool"
|
|
|
-RserverIP="10.0.4.1"
|
|
|
-Rserver="root@$RserverIP"
|
|
|
-Ldest="testpool/test"
|
|
|
-DATE=`date +%Y-%m-%d`
|
|
|
-logfile="/mnt/NFSUsers/thierry423/PToTape/$0_$DATE.log"
|
|
|
-#loadedtape="/mnt/NFSUsers/thierry423/loadedtape.cnf"
|
|
|
-testfile="/mnt/NFSUsers/thierry423/latest-p_run.log"
|
|
|
-loaderdev="/dev/sg10"
|
|
|
-c="0"
|
|
|
-mkdir /mnt/NFSUsers ; mount $RserverIP:/mnt/bigpart/Users /mnt/NFSUsers
|
|
|
-#ioslot="X"
|
|
|
-
|
|
|
-prepair () {
|
|
|
-#echo "prepair / rewind tape drive's" >> $logfile
|
|
|
-
|
|
|
-mt -f /dev/st0 rewind&
|
|
|
-mt -f /dev/st1 rewind
|
|
|
-wait
|
|
|
-}
|
|
|
-
|
|
|
-function choustape () {
|
|
|
-wk=$(date +%V)
|
|
|
-x=7;z=0;tp=1
|
|
|
-while [ $z -lt 1 ]
|
|
|
- do
|
|
|
- if [[ $wk -lt $x ]]; then
|
|
|
- break
|
|
|
- else
|
|
|
- x=$[$x+8]
|
|
|
- tp=$[$tp+1]
|
|
|
- fi
|
|
|
- done
|
|
|
- echo "tape period: " $tp >> $logfile
|
|
|
- echo $tp > $testfile
|
|
|
- if [[ $tp = 1 ]]; then tp=1; fi ###buggg work around next if....
|
|
|
- if [[ $tp = 2 ]]; then tp=9; fi
|
|
|
- if [[ $tp = 3 ]]; then tp=11; fi
|
|
|
- if [[ $tp = 4 ]]; then tp=21; fi
|
|
|
- if [[ $tp = 5 ]]; then tp=23; fi
|
|
|
- if [[ $tp = 6 ]]; then tp=33; fi
|
|
|
- if [[ $tp = 7 ]]; then tp=35; fi
|
|
|
-if [[ $1 = 1 ]]; then
|
|
|
- slotnr=$[1+$tp]
|
|
|
- ioslot="46"
|
|
|
- fi
|
|
|
-if [[ $1 = 2 ]]; then
|
|
|
- slotnr=$[5+$tp]
|
|
|
- if [[ $tp = 1 ]]; then slotnr=5; fi ###buggg work around
|
|
|
- ioslot="47"
|
|
|
- fi
|
|
|
-if [[ $1 = 3 ]]; then
|
|
|
- slotnr=$[9+$tp]
|
|
|
- if [[ $tp = 1 ]]; then slotnr=8; fi ###buggg work around
|
|
|
- ioslot="48"
|
|
|
- fi
|
|
|
- mtx -f $loaderdev load $[$slotnr ] 0 >> $logfile
|
|
|
- slotnr2=$[$slotnr+1]
|
|
|
- mtx -f $loaderdev load $[$slotnr2 ] 1 >> $logfile
|
|
|
- echo "$ioslot:$slotnr:$slotnr2"
|
|
|
- if [[ $? != 0 ]]; then
|
|
|
- echo "failed to change to next 2 Tape's"
|
|
|
- echo "failed to change to next 2 Tape's" >> $logfile
|
|
|
- exit
|
|
|
- else
|
|
|
- echo "$ioslot:$slotnr:$slotnr2"
|
|
|
- #echo "tapes $slotnr loaded"
|
|
|
- fi
|
|
|
-#return $slotnr
|
|
|
-}
|
|
|
-
|
|
|
-ejec () {
|
|
|
-mt -f /dev/st0 rewind&
|
|
|
-mt -f /dev/st1 rewind
|
|
|
-wait
|
|
|
-mtx -f $loaderdev unload $1 0
|
|
|
-mtx -f $loaderdev unload $2 1
|
|
|
- echo "rewind & ejected to slot $1 & $2 from drive 0 & 1" >> $logfile
|
|
|
- echo " " >> $logfile
|
|
|
-}
|
|
|
-
|
|
|
-writetotape () {
|
|
|
- #killall mbuffer
|
|
|
- b="0"
|
|
|
- a="0"
|
|
|
- c="$1"
|
|
|
- echo "created remote snapshot & start mbuffer" >> $logfile
|
|
|
- ssh $Rserver zfs snapshot -r $Rshot@tapeshot0 >> $logfile
|
|
|
- sleep 3
|
|
|
- ssh $Rserver zfs send -R $Rshot@tapeshot0 |mbuffer -L -Q -P 90 -s 8388608 -m 6G -o /dev/nst0 -l mbuftmp.tmp
|
|
|
- echo "writen full-snapshot to tape" >> $logfile
|
|
|
- cat mbuftmp.tmp >> $logfile
|
|
|
- wait
|
|
|
- c=$[$c+1]
|
|
|
- ssh $Rserver zfs destroy -r $Rshot@tapeshot0 >> $logfile
|
|
|
- echo "destroyed remote snapshot" >> $logfile
|
|
|
- echo "writen $Rshot to tape nr: $num_tape whit or whitout errors. Next?" >>$logfile
|
|
|
- echo " " >> $logfile
|
|
|
- return $c
|
|
|
-}
|
|
|
-
|
|
|
-CloneTape () {
|
|
|
- echo "Start Cloning of tapes"
|
|
|
- prepair
|
|
|
- a="1"
|
|
|
- b="0"
|
|
|
- c="$1"
|
|
|
- echo "clone tape $num_tape to $num_tape2 @ $(date)" >> $logfile
|
|
|
- while [ $c -gt 0 ]
|
|
|
- do
|
|
|
- dd if=/dev/nst0 bs=8388608 | mbuffer -L -P 75 -s 8388608 -m 6G -o /dev/nst1 -l mbuftmp.tmp
|
|
|
- cat mbuftmp.tmp >> $logfile
|
|
|
- echo "track $a from drive0 received" >> $logfile
|
|
|
- a=$[$a+1]
|
|
|
- c=$[$c-1]
|
|
|
-done
|
|
|
- echo "no more tracks on tape, total of $a tracks" >> $logfile
|
|
|
-}
|
|
|
-
|
|
|
-Writetozpool () {
|
|
|
-echo "Write To test Zpool"
|
|
|
-a="1"
|
|
|
-b="0"
|
|
|
-zfs destroy -r testpool
|
|
|
-sleep 3
|
|
|
-while [ $b -lt 1 ]
|
|
|
-do
|
|
|
- #mbuffer -L -Q -p 90 -s 8388608 -m 6G -i /dev/nst0 -l mbuftmp.tmp | zfs receive -F testpool/test-t1$a
|
|
|
- mbuffer -L -Q -p 90 -s 8388608 -m 6G -i /dev/nst1 -l mbuftmp.tmp | zfs receive -F testpool/test-t2$a
|
|
|
- #dd if=/dev/nst0 bs=8388608 status=progress | zfs receive -F testpool/test$a
|
|
|
- #dd if=/dev/nst1 bs=8M status=progress | zfs receive -F testpool/testt$a
|
|
|
- if [[ $? != 0 ]]; then
|
|
|
- a=$[$a-1]
|
|
|
- echo "No more snapshots on tape latest was $a"
|
|
|
- b="1"
|
|
|
- else
|
|
|
- echo "snapshot $a received"
|
|
|
- a=$[$a+1]
|
|
|
- fi
|
|
|
-done
|
|
|
-}
|
|
|
-
|
|
|
-echo "Start fule backup to tape @ $(date)" >> $logfile
|
|
|
- echo "running 7 week Backup @ $(date)" >> $logfile
|
|
|
- IFS=":"
|
|
|
- read ioslot num_tape num_tape2<<<"$(choustape 1)"
|
|
|
- Rshot="Raid10_pool/Users"
|
|
|
- prepair
|
|
|
- writetotape 0
|
|
|
- shots=$?
|
|
|
- CloneTape $shots
|
|
|
- ejec $num_tape $ioslot
|
|
|
- IFS=":"
|
|
|
- read ioslot num_tape num_tape2<<<"$(choustape 2)"
|
|
|
- Rshot="Raid10_pool/System"
|
|
|
- prepair
|
|
|
- writetotape 0
|
|
|
- shots=$?
|
|
|
- Rshot="Raid10_pool/var"
|
|
|
- writetotape $shots
|
|
|
- shots=$?
|
|
|
- CloneTape $shots
|
|
|
- ejec $num_tape $ioslot
|
|
|
- IFS=":"
|
|
|
- read ioslot num_tape num_tape2<<<"$(choustape 3)"
|
|
|
- Rserver="root@10.0.4.2"
|
|
|
- Rshot="BIG_pool/Media"
|
|
|
- prepair
|
|
|
- writetotape 0
|
|
|
- shots=$?
|
|
|
- CloneTape $shots
|
|
|
- ejec $num_tape $ioslot
|
|
|
-echo "finished fule backup to tape @ $(date)" >> $logfile
|
|
|
-
|
|
|
-echo "-----------------------------------------------------" >> $logfile
|
|
|
-echo " " >> $logfile
|
|
|
-echo " " >> $logfile
|
|
|
-#rm mbuftmp.tmp
|
|
|
-killall mbuffer -q
|
|
|
-wait
|
|
|
-# recover to single tape drive....: dd if=/dev/st0 bs=8M | zfs receive -F testpool/test2
|