拷贝系统盘的脚本
发表于:2007-06-09来源:作者:点击数:
标签:
[这个贴子最后由jxbcpp在2002/11/2610:30pm编辑] 这个脚本用于把当前系统盘复制到指定的某个硬盘(两个硬盘需一样大小,否则自习修改脚本吧) #!/bin/sh #programedbyjxbcpp,QQ:589210 iftest$#-lt1 then echo\tUsage:$0DestDisk echo\tExample:Ifyouw ant t
[这个贴子最后由jxbcpp在 2002/11/26 10:30pm 编辑]
这个脚本用于把当前系统盘复制到指定的某个硬盘(两个硬盘需一样大小,否则自习修改脚本吧)
#!/bin/sh
#programed by jxbcpp,QQ:589210
if test $# -lt 1
then
echo "\tUsage:$0 DestDisk"
echo "\tExample: If you w
ant to make a mirror disk c0t1d0 of boot disk"
echo " You can use: $0 c0t1d0"
exit
fi
SourDisk=`df -k /|tail -1|awk -F'/' '{print $4}'|awk -F's' '{print $1}'`
DestDisk=$1
answer=`/usr/bin/ckyorn -d n -p "Do you want to mirror disk $SourDisk to $DestDisk?[Y/N]"`
if [ ! $answer = Y -a ! $answer = y ]
then
exit
fi
if [ $SourDisk = $DestDisk ]
then
echo "\t***********************************************"
echo "\t\tDestDisk cann't be system disk!"
echo "\t***********************************************"
exit
fi
echo "\nCopy partition table..."
prtvtoc /dev/rdsk/${SourDisk}s2 |fmthard -s - /dev/rdsk/${DestDisk}s2
if test $? -ne 0
then
echo "\t***********************************************"
echo "\t\tTwo Disks must be the same size!"
echo "\t***********************************************"
exit
fi
echo "\t***********************************************"
echo "\t\tCopy partition table Sucessfully!"
echo "\t***********************************************"
SWAP=`grep swap /etc/vfstab|grep dev|awk '{print $1}'`
prtvtoc /dev/rdsk/${SourDisk}s2|grep -v "^*" |awk '{print $1}' >/tmp/.asdfg
success=0
while read DD
do
if [ $DD -eq 2 ]
then
continue
fi
if [ /dev/dsk/${SourDisk}s${DD} = $SWAP ]
then
continue
fi
echo "\n\nDump /dev/dsk/${SourDisk}s${DD}"
mkdir /tmp/$DD
echo y|newfs /dev/rdsk/${DestDisk}s${DD}
if [ $? -ne 0 ]
then
echo "\t***********************************************"
echo "\t\tNewfs error!"
echo "\t***********************************************"
success=1
exit
fi
mount /dev/dsk/${DestDisk}s${DD} /tmp/$DD
ufsdump 0f - /dev/dsk/${SourDisk}s${DD}|(cd /tmp/$DD; ufsrestore -rf - 

rm /tmp/$DD/restoresymtable
if [ $DD -eq 0 ]
then
touch /tmp/0/reconfigure
fi
umount /tmp/${DD}
rmdir /tmp/${DD}
echo "\t***********************************************"
echo "\t\tDump /dev/dsk/${SourDisk}s${DD} Successfully!"
echo "\t***********************************************"
done < /tmp/.asdfg
if [ $success -eq 0 ]
then
installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/${DestDisk}s0
echo "\t***********************************************"
echo "\t\tMirror Sucessfully!"
echo "\t***********************************************"
fi
daemonix 回复于:2002-11-26 22:31:54
|
瓦,高人
|
sunmarmot 回复于:2002-11-26 23:10:41
|
[这个贴子最后由sunmarmot在 2002/11/28 03:23pm 编辑]
又发现一个老大!!!!
根据老大的指点,偶把偶晚上问的关于如何使用这个.sh帖出来
你现在的系统盘是c1t0d0,想在c1t1d0上做备份 则运行: CopyBootDisk.sh c1t1d0 万一你的系统盘坏了,就可以把这个盘插到c1t0d0的位置,系统就可以用了
hohohohoh~~~~~~~~~又多了把刷子
|
liuqinghe 回复于:2002-11-27 16:34:12
|
真牛b
|
YT 回复于:2002-11-27 21:08:47
|
好,支持!
|
sunmarmot 回复于:2002-11-28 16:53:57
|
实验ing,期待ing。。。。。。。。。。
|
原文转自:http://www.ltesting.net