|
When I use this shell, I lose my 35G data. :help
Can I get back my data?
And what's the problem in this shell?
Thanks a lot!
mkdir $TAPE There is nothing been created!!
mv $DIRE/$NOME $TAPE/$NOME Where is my data been moved?
clear
echo " "
echo "To use this script you need TWO DLT"
echo " "
echo -n "Have you these? [YES/NO] "
set RESPONSE = $<
if ($RESPONSE == YES) then
goto 1
else
exit
endif
1:
set RESULT=`mt -f /dev/nst0 status`
if ($? == 0) then
echo " "
echo "DLT drive: OK "
echo " "
else
echo " "
echo "The DLT drive is not seen"
echo " "
exit
endif
2:
echo " "
echo "Now you must insert a new tape into the drive"
echo "and wait during the TAPE IN USE blinking"
echo " "
echo -n "Is the TAPE IN USE light on? [YES/NO] "
set RESPONSE = $<
if ($RESPONSE == YES) then
goto 3
else
goto 2
endif
3:
set RESULT=`mt -f /dev/nst0 rewind 2>& ERROR`
set RESULT=`mt -f /dev/nst0 setdensity 0x84`
if ($? == 0) then
echo " "
echo "The density is now 35GB uncompressed"
echo " "
else
echo " "
echo "The density definition is incorrect"
echo " "
exit
endif
echo " "
echo " "
echo "Now you are ready to write the FIRST DLT"
echo -n "It is all OK? [YES/NO] "
set RESPONSE = $<
if ($RESPONSE == YES) then
goto 4
else
exit
endif
4:
set file="TapeNumber"
if (-f $file) then
set number=`cat $file`
@ number = $number + 1
echo $number >! $file
else
set number=1
echo $number > $file
endif
if ( $number > 999) then
set fnumber=""$number
else if ( $number > 99 ) then
set fnumber="0"$number
else if ( $number > 9 ) then
set fnumber="00"$number
else
set fnumber="000"$number
endif
set TAPE = "/dati3/SU_DLT/DLT-"$fnumber
set LUNTOT = 0
set DIRE = "/dati3/DATI_RAW"
mkdir $TAPE
set MASSIMO = 34000
foreach NOME (`ls -1 $DIRE`)
if ($NOME != $TAPE ) then
set LUNGH = `du -sm $DIRE/$NOME |cut -f1`
@ LUNTOT = ($LUNTOT + $LUNGH)
echo $NOME $LUNGH $LUNTOT
if ($LUNTOT < $MASSIMO) then
mv $DIRE/$NOME $TAPE/$NOME
endif
endif
end
echo " "
echo "Now I am writing first DLT"
echo " "
tar -cvf /dev/nst0 $TAPE
if ($? == 0) then
echo " "
echo "First DLT OK "
echo " "
else
echo " "
echo "The writing was not correct"
echo " "
foreach NOME (`ls -1 $DIRE/$NOME`)
mv $TAPE/$NOME $DIRE/$NOME
end
rm -Rf $TAPE
@ number = $number - 1
echo $number >! $file
exit
endif
echo " "
mt -f /dev/nst0 offline
echo " "
echo "Now extract DLT from drive and insert a new one"
echo "and wait during the TAPE IN USE blinking"
5:
echo " "
echo -n "Is the TAPE IN USE light on? [YES/NO] "
set RESPONSE = $<
if ($RESPONSE == YES) then
goto 6
else
goto 5
endif
6:
set RESULT=`mt -f /dev/nst0 rewind 2>& ERROR`
set RESULT=`mt -f /dev/nst0 setdensity 0x84`
echo " "
echo "Now I am writing second DLT"
echo " "
tar -cvf /dev/nst0 $TAPE
if ($? == 0) then
echo " "
echo "Second DLT OK "
echo " "
else
echo " "
echo "The writing was not correct"
echo " "
foreach NOME (`ls -1 $DIRE/$NOME`)
mv $TAPE/$NOME $DIRE/$NOME
end
rm -Rf $TAPE
@ number = $number - 1
echo $number >! $file
exit
endif
echo " "
mt -f /dev/nst0 offline
echo " "
echo "Now extract DLT from drive"
exit |
|