Search This Blog

Showing posts with label menu based. Show all posts
Showing posts with label menu based. Show all posts

Tuesday, 23 February 2010

Menu based ufsdump script

This is a simple script for doing below action
1. Take a backup
2. Erase Tape
3. List content of tape
4. Offline tape
============you can customise this script for adding your own backup folders=========
#!/bin/bash
while :
do
clear
echo " M A I N - M E N U"
echo "1. Erase Tape"
echo "2. Rewind Tape"
echo "3. Full backup"
echo "4. List next file count content "
echo "5. Print Tape Status "
echo "6. Eject Tape "
echo "7. Exit Menu "
echo -n "Please enter option [1 - 7]"
read opt
case $opt in
1) echo "************ Erasing Tape *************";
sleep 2
mt -f /dev/rmt/0 erase ;;
2) echo "*********** Rewinding Tape*************";
sleep 2
mt -f /dev/rmt/0 rewind;;
3) echo "**********Running Full backup**********";
sleep 2
echo "Do you want to start the full system backup *ALL DATA IN THE TAPE WILL BE ERASED* [y/n]"
read ans;
if [ "$ans" == "y" ]
then
mt -f /dev/rmt/0 rewind
ufsdump -0uf /dev/rmt/n /
if [ $? != 0 ] ; then
MSG="error during ufsdump"
fi
ufsdump -0uf /dev/rmt/0n /opt
ufsdump -0uf /dev/rmt/0n /export
ufsdump -0uf /dev/rmt/0n /global/.devices/node@1
ufsdump -0uf /dev/rmt/0n /global/.devices/node@2
mount |grep /global/backup && ufsdump -0uf /dev/rmt/0n /global/backup #this two lines will check global FS is mounted here or not (imagine it will mount only one place at a time in a cluster env)
mount |grep /global/oracle && ufsdump -0uf /dev/rmt/0n /global/oracle
mt -f /dev/rmt/0n rewind
if [ $? != 0 ] ;
then
echo "Unable to rewind the tape after finishing the backup"
fi
fi
;;
4) echo "Skipping to next file count ";
sleep 2
ufsrestore tvf /dev/rmt/0n|more ;;
5) echo "Checking for tape status ";
sleep 2
mt -f /dev/rmt/0 status ;;
6) echo "Ejecting Tape ";
sleep 2
mt -f /dev/rmt/0 offline ;;
7) echo "Thanks for using, Have a nice day";
sleep 2
exit;;
*) echo "$opt is an invaild option. Please select option between 1-4 only";
echo "Press [enter] key to continue. . .";
read enterKey;;
esac
done