#!/bin/ksh # This script will duplicate the OS with other disk. # mksysb for Solaris - Use at own risk... # Partition the secondary disk same as primary disk # before execute this script. if [ ! -f /etc/vfstab.cloneboot ]; then SOURCE=c3t14 TARGET=c4t53 umount /var/aaa > /dev/null 2>&1 echo `date`: Start cloning ${SOURCE} to ${TARGET} >>/var/adm/cloneboot.log for i in 0 4 5 6 do echo "Creating file system on /dev/rdsk/${TARGET}d0s$i " echo y | newfs /dev/rdsk/${TARGET}d0s$i echo "Running fsck on /dev/rdsk/${TARGET}d0s$i " fsck -y /dev/rdsk/${TARGET}d0s$i cd / echo "Mounting ${TARGET}d0s$i on /var/aaa " /usr/sbin/mount /dev/dsk/${TARGET}d0s$i /var/aaa status=$? if [ $status != 0 ]; then echo "mounting of ${TARGET}d0s$i is failed .." exit fi cd /var/aaa sync echo "Dumping files from ${SOURCE}d0s$i to ${TARGET}d0s$i " ufsdump 0f - /dev/rdsk/${SOURCE}d0s$i | ufsrestore rf - rm restoresymtable cd / echo "Unmounting ${TARGET}d0s$i " /usr/sbin/umount /var/aaa fsck -y /dev/rdsk/${TARGET}d0s$i done if [ ! -x /usr/lib/fs/ufs/bootblk ]; then echo "Creating Boot block on the ${TARGET}d0s0 " /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/${TARGET}d0s0 status=$? if [ $status != 0 ]; then echo " Creating Boot block is failed on the new Disk" exit fi fi cd / echo "Mounting ${TARGET}d0s0 on /var/aaa " /usr/local/bin/sudo /usr/sbin/mount /dev/dsk/${TARGET}d0s0 /var/aaa status=$? if [ $status != 0 ]; then echo"Mounting is failed " exit fi cd /var/aaa/etc cp vfstab vfstab.cloneboot status=$? if [ $status != 0 ];then echo " Duplicating of vfstab is failed" fi cat vfstab.cloneboot | sed s/${SOURCE}/${TARGET}/g > vfstab cd / echo "Unmounting ${TARGET}d0s0 " umount /var/aaa echo `date`: Cloning finished >> /var/adm/cloneboot.log echo `date`: Cloning finished >> /var/adm/cloneboot.messages else echo `date`": CLONING FAILED: SYSTEM RUNNING ON BACKUP DISK" >>/var/adm/cloneboot.log fi