Freebsd的系统备份,复制系统的脚本

这阵子在搞Freebsd和linux这类系统的复制或者说系统备份搞上隐了,系统环境当然是Freebsd 7 , 物理环境是Vmware虚拟机了,使用的是IDE硬盘,两个,所以硬盘的编号是ad0和ad1了,如果是scsi或者其它盘的话就要自己改了,废话不说,

以下是脚本.

copyos.sh

#!/bin/sh

cat >fenqu.txt <<EOF
a: 4G 16 4.2BSD # /
b: 500M * swap # swap
c: * * unused #
d: * * 4.2BSD # /home
EOF

echo “format…”
# format start
dd if=/dev/zero of=/dev/ad1 bs=1k count=1
fdisk -BI /dev/ad1
disklabel -B -w /dev/ad1s1
bsdlabel -R /dev/ad1s1 fenqu.txt
newfs /dev/ad1s1a
newfs /dev/ad1s1d
# fomat end

echo “mount…”
# mount start
mkdir /mnt/newos
mount /dev/ad1s1a /mnt/newos
mkdir /mnt/newos/home
mount /dev/ad1s1d /mnt/newos/home
# mount end

echo “copy file…”
# copy file
cp -R -p /boot /mnt/newos
cp -R -p /entropy /mnt/newos
cp -R -p /sys /mnt/newos
cp -R -p /cdrom /mnt/newos
cp -R -p /etc /mnt/newos
cp -R -p /proc /mnt/newos
cp -R -p /compat /mnt/newos
cp -R -p /lib /mnt/newos
cp -R -p /rescue /mnt/newos
cp -R -p /usr /mnt/newos
cp -R -p /dev /mnt/newos
cp -R -p /libexec /mnt/newos
cp -R -p /root /mnt/newos
cp -R -p /var /mnt/newos
cp -R -p /bin /mnt/newos
cp -R -p /dist /mnt/newos
cp -R -p /media /mnt/newos
cp -R -p /sbin /mnt/newos
cp -R -p /tmp /mnt/newos
cp -p /.cshrc /mnt/newos
cp -p /.profile /mnt/newos

mkdir /mnt/newos/mnt

这样就ok了, copy过程走去饮杯茶吧,(*^__^*) 嘻嘻……

上边是分两个区 / 和 /home , 如果不是的话format和mount那两部分就要做相应调整了,还有copy file那段看看你的系统根目录下是否一样了,不同的话自己做相应调整吧, 还有就是/etc/fstab 文件的调整,在上述脚本完成后 ,到/mnt/newos/etc/fstab下编辑这文件,做相应的调整,既是mount的位置,不要告诉我这个是什么,不知道怎样搞的话请留言吧.

上述有什么错误的话,请各位路人也留言吧.
之所以不用ghost克隆系统是因为, 看网上好多人都说freebsd 如果不同size的硬盘克隆的话有可能出问题,不过这个我没有考究了,ghost或者dd 有空再测试吧。

留言