[分享]Shell编程基础
下载 lub.zip 并解压,然后拷贝到 /usr/local/bin 里面就可以了。(要用 sudo cp)
把需要备份的系统启动起来,然后在终端输入
sudo lub -b
按照指示进行就可以了。(注意要先安装 lupin-casper 等,脚本会提示你)
在备份目录会产生用于直接启动备份映像的内核和菜单文件等,看备份目录里的示例菜单就明白了。
恢复过程必须要先从备份文件引导到 live 环境里,然后在终端执行
sudo lub -r
按照指示进行就可以了。
用 lub -h 可以查看帮助文档和版本信息。
3 楼拷贝了一份样例,可以参考。
用这个做了一个经我简单配置过的 ubuntu 的备份, viewtopic.php?f=103&t=238975 ,需要的拿去用。放在 U 盘里做一个 live 系统还不错。
附件: |
文件注释: 2.2 双语版,支持 grub2 lub.zip [11.94 KiB] 被下载 433 次 |
文件注释: 1.2 英文版,存档留底 lub.sh.zip [8.19 KiB] 被下载 181 次 |
最后由 billbear 编辑于 2009-11-08 11:58,总共编辑了 17 次
作者: billbear 发布时间: 2009-05-25
哈哈,Billbear老大的沙发我抢了!
顺便提下,老大取名太精简了,中文就加个CN,英文加个EN总不会太长名吧!
作者: wangdu2002 发布时间: 2009-05-25
live ubuntu backup, 作者 billbear
本程序将帮助你备份运行中的 ubuntu 系统为一个可启动的 squashfs 压缩备份文件。
要恢复的时候, 从备份文件启动并再次运行本程序。
可以把备份文件恢复到另一台机器。
可以把虚拟机里的 ubuntu 迁移到真机。
可以把 wubi 安装的系统迁移到真分区。
安装:
只要拷贝此脚本到任何地方并赋予执行权限即可。
我喜欢把它放在 /usr/local/bin 里面, 这样每次运行的时候就不用写绝对路径了。
使用:
sudo 到此脚本的路径 -b
是备份,而
sudo 到此脚本的路径 -r
是恢复。
也可以用
sudo bash 到此脚本的路径 -b
和
sudo bash 到此脚本的路径 -r
注意不能用
sudo sh 到此脚本的路径 -b
和
sudo sh 到此脚本的路径 -r
备份:
程序依赖 squashfs-tools 来工作。
另外必须安装 lupin-casper 才能做出可启动的备份来。
在终端用如下命令来安装它们:
sudo apt-get install squashfs-tools lupin-casper
而后就可以用这样的命令来备份运行中的 ubuntu 系统了:
sudo 到此脚本的路径 -b
如果这个脚本在 /usr/local/bin, 只要这样
sudo lub -b
然后根据提示进行就可以了。
你可以指定存放备份的路径, 以及需要排除的文件和目录。
不必卸载移动硬盘, windows 分区, 或任何你手动挂载了的分区。它们将会自动被忽略。
因此你可以直接存放备份到移动硬盘, windows 分区等等。
小心: 你必须确定有足够的空间来存放备份。
脚本将会生成启动所需的另外几个文件。
阅读在备份存放目录生成的 menu.lst,里面会详细告诉你如何从备份文件直接启动。
恢复:
阅读在备份存放目录生成的 menu.lst,里面会详细告诉你如何从备份文件直接启动。
启动了 live ubuntu backup 之后, 打开一个终端输入
sudo 到此脚本的路径 -r
如果在备份时已经把此脚本放到了 /usr/local/bin, 现在只需敲入
sudo lub -r
并根据提示进行恢复就可以了。
注意:此脚本并不提供分区功能(只能格式化分区但不能创建,删除分区或调整分区大小)。
只能恢复备份到已有的分区。
因此建议在备份前安装 gparted,这样恢复时你就有分区工具可用了。
另外如果分区表有错误, 将不允许恢复备份,直到错误被修复。
你可以指定若干分区和它们的挂载点。
如果没有 swap 分区, 可以为你创建一个 swap 文件 (如果你这样要求的话)。
会自动生成新的 fstab 并安装 grub。
如果有必要, 还可以改变主机名, 用户名和密码。
备份系统必须在系统正在运行的状态下。
输入 sudo lub -b 根据提示进行。
将要备份系统。建议退出其他程序。继续?(y/n)
y
指定一个空目录 (绝对路径) 来存放备份。可以从 Nautilus 文件管理器拖放目录至此。可以使用移动硬盘。
如果不指定, 将会存放到 /home/ubuntu/backup-20090524
指定需要排除的文件/目录, 一行写一个。可以从 Nautilus 文件管理器拖放至此。以空行结束。
开始备份?(y/n)
y
Parallel mksquashfs: Using 1 processor
Creating little endian 3.1 filesystem on /home/ubuntu/backup-20090524/backup20090524.squashfs, block size 131072.
[=========================================================== ] 92925/93032 99%File /tmp/bind/var/log/ConsoleKit/history changed size while reading filesystem, attempting to re-read
[=========================================================== ] 92930/93032 99%File /tmp/bind/var/log/auth.log changed size while reading filesystem, attempting to re-read
[=========================================================== ] 93001/93032 99%File /tmp/bind/var/log/messages changed size while reading filesystem, attempting to re-read
[=========================================================== ] 93006/93032 99%File /tmp/bind/var/log/syslog changed size while reading filesystem, attempting to re-read
[=========================================================== ] 93013/93032 99%File /tmp/bind/var/log/user.log changed size while reading filesystem, attempting to re-read
[============================================================] 93032/93032 100%
Exportable Little endian filesystem, data block size 131072, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 789719.00 Kbytes (771.21 Mbytes)
40.17% of uncompressed filesystem size (1966107.66 Kbytes)
Inode table size 1155385 bytes (1128.31 Kbytes)
29.20% of uncompressed inode table size (3957443 bytes)
Directory table size 1113938 bytes (1087.83 Kbytes)
46.99% of uncompressed directory table size (2370406 bytes)
Number of duplicate files found 8348
Number of inodes 115900
Number of files 87876
Number of fragments 6597
Number of symbolic links 14964
Number of device nodes 95
Number of fifo nodes 3
Number of socket nodes 35
Number of directories 12927
Number of uids 14
root (0)
syslog (101)
ubuntu (1000)
daemon (1)
polkituser (109)
libuuid (100)
lp (7)
man (6)
avahi-autoipd (104)
gdm (105)
news (9)
messagebus (108)
hplip (103)
klog (102)
Number of gids 29
video (44)
audio (29)
tty (5)
kmem (15)
disk (6)
adm (4)
daemon (1)
dip (30)
lp (7)
fuse (104)
shadow (42)
ssl-cert (105)
messagebus (117)
crontab (107)
mail (8)
lpadmin (106)
mlocate (108)
utmp (43)
ssh (109)
games (60)
polkituser (118)
root (0)
staff (50)
libuuid (101)
src (40)
admin (121)
avahi-autoipd (110)
gdm (111)
klog (103)
已备份至 /home/ubuntu/backup-20090524。请阅读里面的 menu.lst :)
看看备份出来的东西。除了备份文件本身,还有内核等用于直接启动:
backup20090524.squashfs menu.lst
initrd.img-2.6.28-11-generic vmlinuz-2.6.28-11-generic
看看怎么启动备份文件-都写在 menu.lst 的注释里了。
注:
可以把备份都放在内置硬盘启动;
可以把备份都放在移动硬盘,从移动硬盘启动;
也可以把内核放在内置硬盘,squashfs 放在移动硬盘,从内置硬盘引导内核启动移动硬盘的备份)
# 这个 menu.lst 是给 grub4dos 用的。稍作修改才能用于 gnu grub
# 如何在 windows 机器上直接启动你的 backup20090524.squashfs:
# 从 http://download.gna.org/grub4dos 下载最新的 grub4dos
# 解压下载的 grub4dos, 并拷贝其中的 grldr 和 grldr.mbr 到 c: 盘根目录
# 把这个 menu.lst 也拷贝到 c: 盘根目录
# 然后在任意分区根目录建立一个 "casper" 目录并拷贝 backup20090524.squashfs, initrd.img-2.6.28-11-generic, vmlinuz-2.6.28-11-generic 到它里面
# 接着添加下面这行文字到 boot.ini 末尾 (不包含#号)
# c:\grldr.mbr="grub4dos"
##### 对于 Windows Vista, 可以自行建立一个 boot.ini 文件,写上:
##### [boot loader]
##### [operating systems]
##### c:\grldr.mbr="grub4dos"
# 重启选择 grub4dos 即可
# 如何在 linux 机器上直接启动你的 backup20090524.squashfs:
# 在任意分区根目录建立一个 "casper" 文件夹 (注意 gnu grub 不能读取 NTFS, 因此不能把 casper 放在那里) 并拷贝 backup20090524.squashfs, initrd.img-2.6.28-11-generic, vmlinuz-2.6.28-11-generic 到它里面
# 然后拷贝下面的两个 Live Ubuntu Backup 启动项到 /boot/grub/menu.lst 末尾并把 "find --set-root" 行改为 "root (hd?,?)" (你创建 "casper" 文件夹的那个分区)
default 0
timeout 10
title Live Ubuntu Backup 20090524
find --set-root /casper/vmlinuz-2.6.28-11-generic
kernel /casper/vmlinuz-2.6.28-11-generic boot=casper ro ignore_uuid
initrd /casper/initrd.img-2.6.28-11-generic
title Live Ubuntu Backup 20090524, Recovery Mode
find --set-root /casper/vmlinuz-2.6.28-11-generic
kernel /casper/vmlinuz-2.6.28-11-generic boot=casper ro single ignore_uuid
initrd /casper/initrd.img-2.6.28-11-generic
ubuntu@ubuntu-laptop:~$
要恢复,最好应该先把备份文件启动起来。在其他环境恢复备份,不能预料可否成功。当然,用同版本的 livecd 引导恢复我们的备份理论上应该成功。下面是启动了备份文件之后进行的恢复操作(其实也可以叫做安装)
将恢复你的备份。继续? (y/n)
y
指定 squashfs 备份文件 (绝对路径)。可以从 Nautilus 文件管理器拖放。如果你是从备份的 squashfs 启动的, 直接回车即可, 将会使用本次启动的 squashfs 文件。
将哪个分区作为 / ?
1) /dev/sda1 ntfs 5198MB 5) /dev/sda7 swap 625MB
2) /dev/sda10 swap 280MB 6) /dev/sda8 jfs 1464MB
3) /dev/sda5 reiserfs 206MB 7) /dev/sda9 ext2 1291MB
4) /dev/sda6 reiserfs 6087MB 8) /dev/sdb1 vfat 8015MB
#? 4
你选择的是 /dev/sda6, 里面现有这些文件/目录:
bin cdrom etc initrd.img media opt root selinux sys usr vmlinuz
boot dev home lib mnt proc sbin srv tmp var
确定?(y/n)
y
是否格式化此分区?(y/n)
y
格式化 /dev/sda6 为:
1) ext2
2) ext3
3) ext4
4) reiserfs
5) jfs
6) xfs
#? 3
将哪个分区作为 swap ?
1) /dev/sda1 ntfs 5198MB 6) /dev/sda8 jfs 1464MB
2) /dev/sda10 swap 280MB 7) /dev/sda9 ext2 1291MB
3) /dev/sda5 reiserfs 206MB 8) /dev/sdb1 vfat 8015MB
4) 9) 无
5) /dev/sda7 swap 625MB 10) 无,并结束分区设定。
#? 7
你选择的是 /dev/sda9, 里面现有这些文件/目录:
lost+found
确定?(y/n)
y
/dev/sda9 将被格式化为 swap.
将哪个分区作为 /home ?
1) /dev/sda1 ntfs 5198MB 6) /dev/sda8 jfs 1464MB
2) /dev/sda10 swap 280MB 7)
3) /dev/sda5 reiserfs 206MB 8) /dev/sdb1 vfat 8015MB
4) 9) 无
5) /dev/sda7 swap 625MB 10) 无,并结束分区设定。
#? 6
你选择的是 /dev/sda8, 里面现有这些文件/目录:
billbear
确定?(y/n)
y
是否格式化此分区?(y/n)
y
格式化 /dev/sda8 为:
1) ext2
2) ext3
3) ext4
4) reiserfs
5) jfs
6) xfs
#? 6
将哪个分区作为 /boot ?
1) /dev/sda1 ntfs 5198MB 6)
2) /dev/sda10 swap 280MB 7)
3) /dev/sda5 reiserfs 206MB 8) /dev/sdb1 vfat 8015MB
4) 9) 无
5) /dev/sda7 swap 625MB 10) 无,并结束分区设定。
#? 3
你选择的是 /dev/sda5, 里面现有这些文件/目录:
abi-2.6.28-11-generic memtest86+.bin
config-2.6.28-11-generic System.map-2.6.28-11-generic
grub vmcoreinfo-2.6.28-11-generic
initrd.img-2.6.28-11-generic vmlinuz-2.6.28-11-generic
确定?(y/n)
y
是否格式化此分区?(y/n)
y
格式化 /dev/sda5 为:
1) ext2
2) ext3
3) ext4
4) reiserfs
5) jfs
6) xfs
#? 1
将哪个分区作为 /tmp ?
1) /dev/sda1 ntfs 5198MB 6)
2) /dev/sda10 swap 280MB 7)
3) 8) /dev/sdb1 vfat 8015MB
4) 9) 无
5) /dev/sda7 swap 625MB 10) 无,并结束分区设定。
#? 10
开始格式化分区 (如果有需要格式化的分区的话)。继续? (y/n)
y
正在格式化 /dev/sda6
Done
正在格式化 /dev/sda8
Done
正在格式化 /dev/sda5
Done
正在格式化 /dev/sda9
Setting up swapspace version 1, size = 1261064 KiB
no label, UUID=a3491a9c-8226-4a29-bcf7-608b5a4e553f
Done
如果你为目标系统安排了其他分区, 现在打开另一个终端并挂载它们在 /tmp/target 下合适的地方。完成后回车。
把 GRUB stage1 安装到哪里?
建议安装到 /dev/sda 或 /dev/sda5
1) /dev/sda,MBR 6) /dev/sda7,swap
2) /dev/sdb,MBR 7) /dev/sda8,xfs
3) /dev/sda10,swap 8) /dev/sda9,swap
4) /dev/sda5,ext2 9) /dev/sdb1,vfat
5) /dev/sda6,ext4 10) 不安装(不推荐)
#? 1
将马上开始恢复。继续?(y/n)
y
......
输入新的主机名。留空将使用旧的主机名。
旧的主机名: ubuntu-laptop
新的主机名:
billbear-pc
是否改变用户名 ubuntu? (y/n)
y
新的用户名:
billbear
是否改变用户 billbear 的密码? (y/n)
y
输入新的 UNIX 口令:
重新输入新的 UNIX 口令:
passwd:已成功更新密码
如果刚才的密码改变不成功, 你还有机会。是否再次改变用户 billbear 的密码? (y/n)
n
搞定了 :)
ubuntu@ubuntu:~$
最后由 billbear 编辑于 2009-11-04 17:01,总共编辑了 1 次
作者: billbear 发布时间: 2009-05-25
作者: billbear 发布时间: 2009-05-25
作者: ptptptptptpt 发布时间: 2009-05-25
作者: 非主流1987 发布时间: 2009-05-25
作者: photor 发布时间: 2009-05-26
因为我的本本上的Home很大(数十G),所以我备份时选择了排除Home(第二次试了排除/home/wangdu904)。但Live时提示/home/wangdu904不存在,结果没办法登录进去。
等下再试下6pt恢复到另一台机试下。
作者: wangdu2002 发布时间: 2009-05-26
不过,你倒是可以去 recovery mode 下的 root shell,一样可以恢复的。
排除目录要小心,乱排除可以做出残废的不能启动的备份。
作者: billbear 发布时间: 2009-05-26
不过,你倒是可以去 recovery mode 下的 root shell,一样可以恢复的。
哇,老大,我Home下NN个目录,逐一排除,那还不得累死。
等下进恢复模式试下看能否重构一个系统出来。
作者: wangdu2002 发布时间: 2009-05-26
脚本的本意是我自己用来备份干净的系统的。
作者: billbear 发布时间: 2009-05-26
作者: wangdu2002 发布时间: 2009-05-26
作者: Dim 发布时间: 2009-05-26
大便系都应该可以吧。
作者: billbear 发布时间: 2009-05-26
嗯,你的问题有普遍意义。home 下的个人文件应该排除,但是还有很多隐藏文件不应该排除。
打算添加这个功能,可以帮你排除 home 里所有个人文件但留下系统需要的东西。
作者: billbear 发布时间: 2009-05-26
开源嘛,就是这个样子,你看看有多少 linux 发行版
ubuntu-cloner 和 LUB,应该说各有侧重,算是一个互补。
ubuntu-cloner 不能把系统备份成 可启动的 squashfs 文件,而 LUB 可以
ubuntu-cloner 有图形界面,操作方便些,但依赖于图形组件(xorg、zenity等)
LUB 虽然只有字符模式,但不依赖于图形组件,适用面广
二者也可以互相“剽窃”,因为代码都可见。 近期偶准备剽窃一下
作者: ptptptptptpt 发布时间: 2009-05-26
作者: disillusion 发布时间: 2009-05-26
开源嘛,就是这个样子,你看看有多少 linux 发行版
ubuntu-cloner 和 LUB,应该说各有侧重,算是一个互补。
ubuntu-cloner 不能把系统备份成 可启动的 squashfs 文件,而 LUB 可以
ubuntu-cloner 有图形界面,操作方便些,但依赖于图形组件(xorg、zenity等)
LUB 虽然只有字符模式,但不依赖于图形组件,适用面广
二者也可以互相“剽窃”,因为代码都可见。 近期偶准备剽窃一下
其实我和 pt 互相借鉴了很多代码,私下也有过讨论。最初的设想是 pt 的,后来沿着各自的方向实现罢了。
作者: billbear 发布时间: 2009-05-26
嗯,你的问题有普遍意义。home 下的个人文件应该排除,但是还有很多隐藏文件不应该排除。
打算添加这个功能,可以帮你排除 home 里所有个人文件但留下系统需要的东西。
哇,老大太捧了,这个功能完成后,再用来备份现在系统成Squashfs成live,随便拿到一台机上,就立马可以搞出个可用系统出来了,比直接安装快多了。
此外,如果能够可以选择生成一个新用户则更完美了。
作者: wangdu2002 发布时间: 2009-05-26
作者: billbear 发布时间: 2009-05-26
那可能是我恢复时出了差错,我改用户名时,只能增加字符,退格键用不了,结果搞出一堆乱码。
作者: wangdu2002 发布时间: 2009-05-26
作者: billbear 发布时间: 2009-05-27
作者: ptptptptptpt 发布时间: 2009-05-27
作者: Jarson 发布时间: 2009-05-27
另外的问题是大便默认没有安装 parted,要先装一下。还有大便的 swap 没有 uuid 的,脚本打算小修一下,如果分区没有 uuid,就使用 /dev/sdaX 之类。
作者: billbear 发布时间: 2009-05-27
直接拿 ubuntu 的 lupin-casper 恐怕不行。自己定制 initrd 应该可以。knoppix live DVD 就是用 debian 做的 。
不过肯定比 ubuntu 麻烦。
作者: ptptptptptpt 发布时间: 2009-05-27
思来想去,莫非 update-grub 是从 fstab 中抽取的 UUID??
试了一下,果然!
将 fstab 改名, update-grub 就出错了; 改回来,就好了
Searching for GRUB installation directory ... found: /boot/grub
Cannot determine root device. Assuming /dev/hda1
This error is probably caused by an invalid /etc/fstab
awk: cannot open /etc/fstab (No such file or directory)
root@pt-desktop:~# target_cmd /media/disk-2/ update-grub -y
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ...
Could not find /boot/grub/menu.lst file.
Generating /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.28-12-generic
Found kernel: /boot/vmlinuz-2.6.28-11-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
root@pt-desktop:~#
作者: ptptptptptpt 发布时间: 2009-05-27
所以我的 generate_fstab 一定要在 update-grub 之前执行。解决无 uuid 分区的问题也就容易了,只要把 fstab 和 /etc/initramfs-tools/conf.d/resume 里的设备写成 /dev/sdaX 就行了, menu.lst 就不需要操心了。
作者: billbear 发布时间: 2009-05-27
没想到其中还有这等玄机。。。
作者: ptptptptptpt 发布时间: 2009-05-27
没什么,就是从Revorery模式进root后,玩了一把lub的演示过程,到可以更换用户名时,不知怎么会出现退格键没法用的情况出来了,可能是备份是用的是
lua属中文的,但因为排除了/Home/xxxx后,进的root没有中文,所有中文提示全是!!样的字符。我是在本本上看着论坛上你的说明,对着台式机的相应步骤选择各个选择的。这个应该是我自己的问题----没有备份/home/wangdu904,结果没有启动时的隐藏配置文件了。
这没什么,等老大加上排除主目录下的个人文件功能之后再测试之。恢复系统,只需要恢复系统和软件,当然还有主目录下的隐藏的文件,应该就行了。
作者: wangdu2002 发布时间: 2009-05-27
纯终端下如果中文看不见,也可以用英文版的。
关于 home,隐藏配置文件也可以不要,但是至少要有 /home/wangdu904 这个空目录。排除是连空目录也没了,你就无家可归了
作者: billbear 发布时间: 2009-05-27
不行,我在root下,用Mkdir在/Home下面建立了904Wangdu的空目录,仍然不行。
纯终端下如果中文看不见,也可以用英文版的。
因为新用户名输入错误,所以想要修改,结果退格不了,只能接着往后输入。
反正这个备份版本已经试过了,6pt的备份工具也一样──不能选择自动排除主目录下的个人文件和文件夹,但保留隐藏文件。
现在等老大的增加此功能的新版本出来,再来测试下,以便老大越做越完美。
作者: wangdu2002 发布时间: 2009-05-28
所有者是 root 不行的,需要
chown 你的名字:你的名字 /home/你的名字
那个功能已经写好了,但是我还有其他改动。晚上放上来吧。
作者: billbear 发布时间: 2009-05-28
File /tmp/bind/home/ubuntu/.cache/notify-osd.log changed size while reading filesystem, attempting to re-read
Lseek on destination failed: Invalid argument
[========================================= ] 190562/268127 71%
已备份至 /media/LIVE/Linux_backup。请阅读里面的 menu.lst :)
1.很奇怪,我已经排除了/tmp;
2.备份到71%就停止并出现提示了;
3.没有在目标文件夹下看到类似大小的备份文件。
作者: highwind 发布时间: 2009-05-28
2. 确定移动硬盘上有足够的空间。
3. 备份没有成功,因此没有文件。
作者: billbear 发布时间: 2009-05-28
作者: billbear 发布时间: 2009-05-28
作者: wangdu2002 发布时间: 2009-05-28
1、无法进入Live桌面,提示会话错误,~/xsession error,查看详细,好象是Fcitx输入法有什么权限问题。
2、更改用户名时,再次出现不能退格修改的情况。
下面是备份过程。
bash: /usr/local/bin/lub: Permission denied
wangdu904@wdnb01ub:~$ sudo lub -b
将要备份系统。建议退出其他程序。继续?(y/n)
y
指定一个空目录 (绝对路径) 来存放备份。
可以从 Nautilus 文件管理器拖放目录至此。
可以使用移动硬盘。
如果不指定, 将会存放到 /home/wangdu904/backup-20090528
/tmp/ubtbk
是否排除 /home 里所有的用户文件? (y/n)
y
是否也排除 /home 里所有的用户配置文件(隐藏文件)? (y/n)
n
是否排除已下载软件包在 /var/cache/apt/archives/ 里的本地缓存 ? (y/n)
y
指定其他需要排除的文件/目录, 一行写一个。以空行结束。
可以从 Nautilus 文件管理器拖放至此。
/tmp
开始备份?(y/n)
y
wangdu904@wdnb01ub:~$
感觉备份,明明已经侦测到/home/wangdu904的存在了,为什么在排除目录时不直接提示是否排除/home/wangdu904/里的用户文件呢?
作者: wangdu2002 发布时间: 2009-05-29
/tmp 下的所有文件我已经自动帮你排除,备份本身已经自动排除(还没弱智到那程度),home 已经可选排除,所以 “指定其他需要排除的文件/目录, 一行写一个。以空行结束。” 时,大多数时候你只要直接回车就好了。你不必操心那些显而易见应当排除的东西,比如移动硬盘, windows 分区,其他自行挂载的与系统无关分区,/tmp /proc /sys下的东西,备份文件自身,等等。那是脚本要操心的事情。
最后由 billbear 编辑于 2009-10-28 22:03,总共编辑了 1 次
作者: billbear 发布时间: 2009-05-29
如果有 n 个用户呢?难道还得逐个提示?我只能把所有用户的所有文件通通忽略掉,反正它不会影响系统启动。
作者: billbear 发布时间: 2009-05-29
作者: billbear 发布时间: 2009-05-29
2. 确定移动硬盘上有足够的空间。
3. 备份没有成功,因此没有文件。
谢谢老大提醒,我用新版本再试试,谢谢拉,我保证有个足够大的空间。
作者: highwind 发布时间: 2009-05-29
看了半天这是什么脚本语言呢?
作者: Yoda 发布时间: 2009-05-29
我用1.1版本又试了一次,这是在本本上备份,在台式机上恢复。这次Live成功啦,而且Live后恢复也成功了。
wangdu904@wdnb01ub:~$ sudo lub -b
[sudo] password for wangdu904:
将要备份系统。建议退出其他程序。继续?(y/n)
y
指定一个空目录 (绝对路径) 来存放备份。
可以从 Nautilus 文件管理器拖放目录至此。
可以使用移动硬盘。
如果不指定, 将会存放到 /home/wangdu904/backup-20090529
是否排除 /home 里所有的用户文件? (y/n)
y
是否也排除 /home 里所有的用户配置文件(隐藏文件)? (y/n)
y
是否排除已下载软件包在 /var/cache/apt/archives/ 里的本地缓存 ? (y/n)
y
指定其他需要排除的文件/目录, 一行写一个。以空行结束。
可以从 Nautilus 文件管理器拖放至此。
开始备份?(y/n)
y
Parallel mksquashfs: Using 1 processor
Creating little endian 3.1 filesystem on /home/wangdu904/backup-20090529/backup20090529.squashfs, block size 131072.
[========================================================= ] 103464/103619 99%File /tmp/bind/var/log/ConsoleKit/history changed size while reading filesystem, attempting to re-read
[========================================================= ] 103471/103619 99%File /tmp/bind/var/log/auth.log changed size while reading filesystem, attempting to re-read
[========================================================= ] 103482/103619 99%File /tmp/bind/var/log/cups/access_log changed size while reading filesystem, attempting to re-read
[========================================================= ] 103557/103619 99%File /tmp/bind/var/log/messages changed size while reading filesystem, attempting to re-read
[========================================================= ] 103579/103619 99%File /tmp/bind/var/log/samba/log.winbindd-idmap changed size while reading filesystem, attempting to re-read
[========================================================= ] 103583/103619 99%File /tmp/bind/var/log/syslog changed size while reading filesystem, attempting to re-read
[==========================================================] 103619/103619 100%
Exportable Little endian filesystem, data block size 131072, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 966071.94 Kbytes (943.43 Mbytes)
41.18% of uncompressed filesystem size (2345850.02 Kbytes)
Inode table size 1271323 bytes (1241.53 Kbytes)
29.80% of uncompressed inode table size (4266764 bytes)
Directory table size 1207246 bytes (1178.95 Kbytes)
47.50% of uncompressed directory table size (2541732 bytes)
Number of duplicate files found 8688
Number of inodes 125447
Number of files 96287
Number of fragments 7370
Number of symbolic links 15587
Number of device nodes 95
Number of fifo nodes 3
Number of socket nodes 0
Number of directories 13475
Number of uids 14
root (0)
syslog (101)
clamav (113)
wangdu904 (1000)
daemon (1)
polkituser (104)
libuuid (100)
lp (7)
man (6)
avahi-autoipd (107)
news (9)
messagebus (103)
hplip (106)
klog (102)
Number of gids 31
video (44)
我是用哥伦布4dos引导的。不过有点问题是,不能自动生成新的Menu.lst。需要手工查找UUID,然后照原来系统的格式添加引导项目,才能成功。
熊哥脚本能否象安装程序那样,增加一个自动生成Menu.lst的功能,放在Linux分区也行,可以自己拷贝回来,省下手工查UUID的麻烦。
作者: wangdu2002 发布时间: 2009-05-29
至于你说的 menu.lst,我不知道你指的是为了引导备份文件的 menu.lst,还是恢复后系统的 menu.lst,恢复过程是可以自动生成目标系统的 menu.lst 的。引导 squash 的 menu.lst,我也做了一个 grub4dos 的样本,gnu grub 的情况比较复杂,可以参照 grub4dos 的样本和里面的说明。
作者: billbear 发布时间: 2009-05-29