当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 47 篇帖子 ]  前往页数 1, 2, 3, 4  下一页
作者 内容
1 楼 
 文章标题 : 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-19 1:44 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
修改得差不多了。


---------------------------
2009.5.25 新版本在这里: viewtopic.php?f=21&t=206287
这个老版本还留着吧,也能用,存个底。老版本能做而新版本不能做的事情是强行安装到分区表有问题的硬盘上... 有时候需要这么做 :em06


附件:
文件注释: 英文版
ubackup.en.zip [4.31 KiB]
被下载 175 次
文件注释: 中文版
ubackup.zh.zip [4.71 KiB]
被下载 355 次


最后由 billbear 编辑于 2009-05-26 20:29,总共编辑了 5 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-19 2:30 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
根据 ptptptptptpt 提供的思路写的。
思路来源: viewtopic.php?f=63&t=168786
开端和一些讨论: viewtopic.php?f=103&t=172336

需要安装 lupin-casper 和 squashfs-tools。
解开 ubackup.zip

sudo sh /路径/ubackup -b
备份当前系统为 squashfs 。可以选择备份存放位置。可以存放到移动硬盘。默认最多支持如下复杂度的分区规划:
/ /boot /home /tmp /usr /var /srv /opt /usr/local
更复杂的分区规划可以自行修改函数 rebuildtree() 和 destroytree()
不会备份移动介质。不会备份你手动挂载的设备。不会备份 windows 分区。不会备份 /proc /sys /lost+found。不会备份 /dev 下部分不是文件的文件。不会备份你的 swapfile。
该 squashfs 可以直接单独启动,可以在另一台机器上恢复。在生成的 menu.lst 里有如何直接启动 squashfs 的说明。

从 squashfs 启动后,首先自己用 gparted 或 parted 准备目标分区们,格式化分区们,在 /target 按你的规划挂载除 swap 外的分区们 - 如
sudo mkdir /target
sudo mount /dev/sda5 /target
sudo mkdir /target/home
sudo mount /dev/sda6 /target/home
...
分区可以随意规划,不必关心原系统是如何规划。可以把 windows 分区也挂载到某个位置,fstab 里会生成 windows 分区的自动挂载
接着,
sudo sh /ubackup -r
(在备份的时候已经自动把这个脚本放到 squashfs 的根,不论当时你是从何处运行此脚本)
回答几个问题,基本只要回车就好
然后脚本恢复你的备份,自动生成 fstab, 安装 grub, 如果没有 swap 分区, 可以选择为你做一个 swap file。
在虚拟机 8.10 上测试的。


最后由 billbear 编辑于 2009-05-25 22:02,总共编辑了 3 次

页首
 用户资料  
 
3 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-19 10:31 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
顶下先。待我装个精简 ubuntu 再来测试,否则太费时间了 :em04


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-20 21:00 
头像

注册: 2008-04-26 12:41
帖子: 10974
送出感谢: 11
接收感谢: 38
顶个 :em09


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-21 9:40 

注册: 2008-05-25 21:11
帖子: 587
送出感谢: 0 次
接收感谢: 0 次
很强,这个要顶!


_________________
抚琴煮酒个人主页非诚勿扰


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-24 0:42 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
新版本上传。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-24 0:58 
头像

注册: 2007-04-25 13:12
帖子: 2838
送出感谢: 0 次
接收感谢: 0 次
支持比尔熊 :em11


_________________
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-24 23:27 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
简单试了下中文版,备份 8.10,工作正常。可以从备份的映像启动。

脚本写的很专业 :em11


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-02-25 22:24 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
补充说明:

ext4 的挂载选项还没有写进去,因为我没有试过 9.04。

备份的时候如果不选择备份存放的位置,会在根目录下生成一个随机数目录(实际上就是 uuid )来存放。
如果选择存放的位置(比如想直接存放到移动硬盘),必须先建立一个空目录,然后在脚本询问的时候回答自建目录的绝对路径,回答时可以直接从 nautilus 拖放。自建的空目录名字可以使用中文和空格,但是我不确定你使用对 shell 有特殊含义的怪字符会怎么样。
备份文件本身是可启动的(只读的,不能保存变更),存放在移动硬盘再配合 grub4dos 即可成为一个移动的 ubuntu 系统,可以拿它做维护工具,或者到处给别的机器安装你配好的 ubuntu。

恢复的时候先自行规划分区。如果需要格式化目标分区,建议使用 parted 或 gparted。如果单纯使用 mkfs 来格式化为另一种FS(比如从 fat 到 ext3),在 fdisk 的时候看不到分区的变化(还显示 fat,不过好像也能用)。我看了一下 gparted 的工作过程,也是先设分区 id,再 mkfs 的。
然后在一个地方组织你的目标分区们。最好使用 /target,这样运行脚本的时候就只要回车了。
恢复的时候会询问 grub stage1 的安装位置,如果想安装到第一块硬盘的 mbr,需要输入 sda,不回答则默认安装到目标 ubuntu 的 / 或 /boot 分区,不改写 mbr。以后你可以用 grub4dos 或任何你可以想到的办法来引导。
之后会询问 squashfs 备份文件的位置,通常不需要回答。

可以用这个工具来备份和恢复自己的机器,也可以把配好的 ubuntu 保存下来,迁移到另一台机器。比如可以把在虚拟机里试用满意的 ubuntu 迁移到真机,或者把 wubi 安装的系统迁移到真 linux 分区上。

能读懂英文的就用英文版吧。如果在纯终端下使用这个脚本,中文可能会无法显示。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-03-02 9:39 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
getmountoptions() 中
引用:
"/ reiserfs" ) echo relatime;;

"/boot reiserfs" ) echo notail,relatime;;


这里似乎有点问题:假如 /boot 没有单独分区,对 "/ reiserfs" 是不是应该 echo notail,relatime ?


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-03-02 12:07 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
billbear 写道:
恢复的时候先自行规划分区。如果需要格式化目标分区,建议使用 parted 或 gparted。如果单纯使用 mkfs 来格式化为另一种FS(比如从 fat 到 ext3),在 fdisk 的时候看不到分区的变化(还显示 fat,不过好像也能用)。


今天改克隆脚本出了 bug ,却无意中发现,用 mkfs 格式化为另一种FS后,再 fdisk -l ,可以显示出变化。

用的是 8.04


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-03-02 20:43 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
ptptptptptpt 写道:
getmountoptions() 中
引用:
"/ reiserfs" ) echo relatime;;

"/boot reiserfs" ) echo notail,relatime;;


这里似乎有点问题:假如 /boot 没有单独分区,对 "/ reiserfs" 是不是应该 echo notail,relatime ?


厄,说实话,我是在虚拟机里按 / /boot /home /tmp /usr /var /srv /opt /usr/local 这几个分区分别全部用 ext2 ext3 reiserfs jfs xfs 装了 5 遍 8.10 取得 5 个 fstab,我以为这就算全面了。我不知道当 /boot 没有单分的时候还会影响到 / 的挂载选项。要是这么挨个测试的话我会晕过去... 挂载选项真是个讨厌的东西,我一直也没全弄清楚,好像 07 年的 ubuntu fstab 挂载选项和 08 年的还不一样 ... 看来不能自己瞎试验,应该读安装程序的源代码,看看它是怎么处理的。哪里有安装程序的源代码?

ptptptptptpt 写道:
billbear 写道:
恢复的时候先自行规划分区。如果需要格式化目标分区,建议使用 parted 或 gparted。如果单纯使用 mkfs 来格式化为另一种FS(比如从 fat 到 ext3),在 fdisk 的时候看不到分区的变化(还显示 fat,不过好像也能用)。


今天改克隆脚本出了 bug ,却无意中发现,用 mkfs 格式化为另一种FS后,再 fdisk -l ,可以显示出变化。

用的是 8.04


8.10 如何? 难道这又是 8.10 的毛病? :em20

把其他问题也写一下,免得忘了。算个 TODO list,将来一并修改:
1.在虚拟机 wubi 8.10 测试的时候,第二次追加文件到已有的 squashfs 会失败,不知是什么原因。使得备份 wubi 系统生成的 squashfs 根下面没有恢复脚本。不过备份文件本身似乎没有问题,恢复到分区可以实现 wubi 系统向正规分区系统的转化,之后升级内核也没有发现异常。

2.恢复过程的提醒声音应该在恢复基本完成,询问是否需要交换文件之前发出 :) 恢复完成提示用户自行卸载目标分区。

3. pt,那个 eth0 到底在哪里?


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-03-02 22:30 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
billbear 写道:
厄,说实话,我是在虚拟机里按 / /boot /home /tmp /usr /var /srv /opt /usr/local 这几个分区分别全部用 ext2 ext3 reiserfs jfs xfs 装了 5 遍 8.10 取得 5 个 fstab,我以为这就算全面了。我不知道当 /boot 没有单分的时候还会影响到 / 的挂载选项。要是这么挨个测试的话我会晕过去... 挂载选项真是个讨厌的东西,我一直也没全弄清楚,好像 07 年的 ubuntu fstab 挂载选项和 08 年的还不一样 ... 看来不能自己瞎试验,应该读安装程序的源代码,看看它是怎么处理的。哪里有安装程序的源代码?


god ,原来是这样搞的啊。。。我还以为你看了安装程序的源码。ubiquity 的源码可以用 apt-source 来获取。

的确,我印象中不同版本的 ubuntu 挂载选项确实有变化。而且,以后还可能变。所以我在 ubuntu-cloner 只设了两种 fs(ext3 和 reiserfs )供选择


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-03-02 22:32 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
那个 eth0 ,我也没搞清 :em20


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 写了一个备份和恢复 ubuntu 的 script,请各位指正。
帖子发表于 : 2009-03-06 17:15 
头像

注册: 2007-11-25 13:29
帖子: 6812
地址: 新疆博乐
系统: Ubuntu 12.04/14.04
送出感谢: 32
接收感谢: 84
下载了备用


_________________
===新手请看===
Ubuntu 安装 | Ubuntu12.04/14.04/16.04 桌面操作指南
··Ubuntu16.04 安装图文教程(超简单)
····有时间就静下心来


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 47 篇帖子 ]  前往页数 1, 2, 3, 4  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译