免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5573 | 回复: 4
打印 上一主题 下一主题

[SCO UNIX] dd及cpio备份操作系统的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-08 16:28 |只看该作者 |倒序浏览
本帖最后由 zhangshebao 于 2010-05-10 21:29 编辑

先做一张能启动到应急方式的应急启动光盘:
多用户模式下mkdev fd,选2、5、0、3、n、2,要求你插写入光盘时到另一窗口将光盘镜像拷下来刻光盘。
启动到应急盘方式(推荐)或单用户方式:
假定/mnt是mount好的文件系统,用来暂存dd结果:
dd if=/dev/rhd00 bs=100k count=80|compress -H>/mnt/hd00-8M.dd.Z
dd if=/dev/rboot bs=100k |compress -H>/mnt/boot.dd.Z
i=0
n=`divvy -p /dev/hd0root|awk '$1==2{print ($3-$2)/100+1}'`
echo "#restore root from dd">/mnt/restore-root.sh
while [ $i -le $n ];do
  echo "compress -dc </mnt/root-$i.dd.Z|dd bs=100k conv=bmode oseek=$i of=/dev/rhd0root">>/mnt/restore-root.sh
  dd if=/dev/rhd0root bs=100k iseek=$i count=20000 conv=bmode|compress -H>/mnt/root-$i.dd.Z
  i=`expr $i + 20000`
done
恢复时,hd00每道扇区数及磁头数应与原来一样,磁道数大于等于原来的。应急盘启动,mount好/mnt
compress -dc </mnt/hd00-8M.dd.Z>/dev/rhd00
compress -dc</mnt/boot.dd.Z>/dev/rboot
手工输入/mnt/restore-root.sh中的命令恢复root,可以直接执行它。
cpio备份方案:
启动到应急盘方式(推荐)或单用户方式:
假定/mnt是mount好的文件系统,用来暂存备份结果文件
mkdir /stand;mount /dev/boot /stand
mkdir /root;mount /dev/hd0root /root
mount /dev/hd1aroot /mnt
dd if=/dev/rhd00 bs=100k count=80|compress -H>/mnt/hd00-8M.dd.Z
#2010年5月10日删除1条多余行(根据2楼提醒)
cd /stand;find . -mount -depth -print|cpio -ouvdm|compress -H>/mnt/boot.cpio.Z
i=0
n=`divvy -p /dev/hd0root|awk '$1==2{print ($3-$2)/20000000}'`
echo "#restore root from cpio
mkdir /root;mount /dev/hd0root /root;
(">/mnt/restore-root.sh
cd /root;find . -mount -depth -print|cpio -ouvdmB|while [ $i -le $n ];do
   echo "compress -dc </mnt/root-$i.cpio.Z">>/mnt/restore-root.sh
   compress -H>/mnt/root-$i.cpio.Z
done
echo ")|cpio -iuvdmB 2&1 >/mnt/root-restorefromcpio.log">>/mnt/restore-root.sh
恢复时,应急盘启动:
compress -dc </mnt/hd00-8M.dd.Z>/dev/rhd00
mkfs -f EAFS /dev/boot
mkdir /stand;mount /dev/root /stand;
cd /stand;compress -dc </mnt/boot.cpio.Z|cpio -iuvdmB 2>&1 >/mnt/boot.restorefromcpio.log
mkfs /dev/hd0root
mkdir /root;mount /dev/hd0root /root
cd /root;sh -x /mnt/restore-root.sh
注意应急盘启动时root在/dev/hd0root,正常启动是/dev/root
只是思路,需要实测,新手不要使用。

文中多处命令会破坏你的系统,慎试!
========================
5月10日根据2楼提问,重新审了一下,更正几处错误(粗体部分)。
考虑避免误导读者,所以在一楼修改。谢谢二楼。
几种备份方法比较:
1、cpio:传统、通用、可靠;但不包含磁盘及文件系统结构。要fdisk或divvy建好文件系统,才能恢复。
备份前最好先fdisk -P;divvy -p备份分区及文件系统结构
2、ghost:省事,会的人也多。恢复时要求每道磁头数及扇区数与原盘相同,ghost整盘最省事,但太大了;ghost unix分区(含boot、swap及root等),不能踢除swap及u文件系统单备root,恢复时要fdisk建好分区表,且可能会将分区顺序恢复乱。
3、dd:也要求每道磁头数及扇区数与原盘相同,与ghost差不多原理。dd hd00相当于ghost整盘;比ghost优点是可以选择文件系统进行备份。

论坛徽章:
0
2 [报告]
发表于 2010-05-09 21:48 |只看该作者
看不太明白哦
dd if=/dev/rhd00 bs=100k count=80 这个是做什么用的呢?
dd if=/dev/rhd0root bs=100k count=20000 conv=bmode 这个是不是把/盘大小写死了?dd文件会不会很大,以至于不能放在光盘上?
dd bs=100k count=20000|compress -H>/mnt/boot.cpio.Z 这个是不是少东西了?
另外,你这个对于硬盘完全损坏是不是不能恢复的?
另外,对于146G这样的系统,dd是不是很慢啊。

跟我的在用的有点出入,我是使用cpio备份/目录的
rsjq 该用户已被删除
3 [报告]
发表于 2010-05-10 10:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2010-05-10 11:42 |只看该作者
本帖最后由 saintdragon 于 2010-05-10 12:06 编辑

支持这样的分享

论坛徽章:
0
5 [报告]
发表于 2010-05-10 13:33 |只看该作者
看不太明白哦
dd if=/dev/rhd00 bs=100k count=80 这个是做什么用的呢?
dd if=/dev/rhd0root bs=100k co ...
dooza 发表于 2010-05-09 21:48


1、dd if=/dev/rhd00 bs=100k count=80|compress -H>/mnt/hd00-8M.dd.Z
将hd00整盘的前8M备下来。如果恢复时磁盘相同,直接dd回去可以替代fdisk分区
2、 count=20000 将每个结果文件限制成压缩前小于2G。备份root时,每次取2G,多次分段备份。
     原文cpio备份boot部分多了一条多余的cpio,已删除。
3、已拆分成2G以下文件,可以放光盘。光盘加上应急盘导引更好。
4、不会造成物理损坏。向hd00 dd拷备错误的数据,将破坏整个硬盘的数据;向/dev/root或/dev/hd0root拷备错误的数据将破坏根文件系统。
    整盘数据被破坏只有用完整的磁盘备份进行恢复或重装系统了。
5、dd是最快的了,取决于你的硬盘速度。/dev/rroot快于/dev/root,bs大小对速度有影响。
6、scoadmin备份就是用cpio.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP