系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43

系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#1

帖子 潇洒走一回 » 2009-09-14 22:44

我的系统还没备过份, 但是tar这类备份系统的命令还是了解过的, 主要是这种敏感的操作对我这个菜鸟来说还不敢乱碰, 我也经常会遇到难以预料的错误... 但是系统不备份是不行的, 这个贴子就见证了我曾经的蠢事viewtopic.php?f=77&t=223847 ... ...
经过一些简单的bash学习, 我很谨慎地写了一个shell脚本, 用来执行系统备份和恢复(我不敢在终端直接输tar命令, 我害怕一不小心坏了事...), 但是这种脚本是不容许我先执行一下来检查错误的,我必须保证它第一次运行就不能出错,否则可能搞坏我的系统, 所以现在把它贴在这里希望过路者能帮忙排除一下脚本中的错误, 并给些指导, 谢谢!!!

代码如下(修改了一下):

代码: 全选

#!/bin/bash

# scriptname: backupsystem.sh
#  快捷备份系统脚本
# 用法:
#  backupsystem.sh --backup 执行系统备份,归档文件将隐藏在我的家目录下;
#  backupsystem.sh --recover 恢复系统到上次备份状态

if [ "$UID" != 0 ]; then
	echo '您有管理员权限吗?'
	exit 1
fi

if [ -n "$1" ]; then
	[ "$1" = '--backup' ] && {
		cd /home/wonder # wonder为我的用户名 
		tar -cvpzf '/home/wonder/.system-backup-archive.tgz' \
		--exclude='/mnt' \
		--exclude='/media' \
		--exclude='/proc' \
		--exclude='/sys' \
		--exclude='/lost+found' \
		--exclude='/home' \
		--exculde='/var' \
		/*
	}
	
	[ "$1" = '--recover' ] && {
		cd /	# 切换到根目录
		tar -xzpvf '/home/wonder/.sys-backup-archive.tgz' # 用归档文件中的目录结构覆盖当前的

	}

else
	echo "请给一个参数"
	exit 2
fi	
谢谢!!! :em01
上次由 潇洒走一回 在 2009-09-15 21:55,总共编辑 3 次。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#2

帖子 wangdu2002 » 2009-09-14 23:39

参考下面两个强大的备份脚本,有问题找作者。 :em04
Ubuntu系统乾坤大挪移──10分钟备份,3分钟恢复
viewtopic.php?f=21&t=206287#Billbear的Ubuntu系统备份恢复转移脚本工具
viewtopic.php?f=77&t=176612#6pt的图形化界面Ubuntu系统备份恢复转移工具
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#3

帖子 aerofox » 2009-09-15 6:10

潇洒走一回 写了:但是这种脚本是不容许我先执行一下来检查错误的,我必须保证它第一次运行就不能出错,否则可能搞坏我的系统
没有什么程序是不能调试的。你的脚本至少在执行备份任务时是不会搞坏你的系统吧?那么至少可以试试备份功能。为了减少调试时的时间,也减小风险,你可以先把备份目录由 / 改为其它小一点、没那么重要、但是仍然包含一些需要排除的内容的目录,还可以放到一个 chroot 的环境中试运行。经过这么调试后,至少不该有大的错误了。
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#4

帖子 冲浪板 » 2009-09-15 8:37

不包含/var/...?要知道新立得的记录可是在里边

其实想备份的话,把/etc留一个就成了,而且只备自己改过的;
装一次也便当,但是装的时候把安装的列表保留下来,供下次安装导如,另外把“包”也留一个。

很多的东东可以导出配置,比如CCM...,留一个方便。
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#5

帖子 Strange » 2009-09-15 10:00

备份还是习惯进第三方系统
随便是光盘,优盘还是硬盘上,有一个最基本的live系统的话,直接对那个tar或者cat root 所在硬盘分区了。
ニンニク入れますか?
x60 with gentoo
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#6

帖子 tenzu » 2009-09-15 10:14

我没有备份系统的习惯
数据没问题就行了
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#7

帖子 adagio » 2009-09-15 10:35

脚本不懂,不过tar命令不加上“p”参数,基本上是找死 :em04
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#8

帖子 潇洒走一回 » 2009-09-15 18:19

wangdu2002 写了:参考下面两个强大的备份脚本,有问题找作者。 :em04
Ubuntu系统乾坤大挪移──10分钟备份,3分钟恢复
viewtopic.php?f=21&t=206287#Billbear的Ubuntu系统备份恢复转移脚本工具
viewtopic.php?f=77&t=176612#6pt的图形化界面Ubuntu系统备份恢复转移工具
既然那么多人推荐tar, 我还是用tar吧。那些太复杂,linux备份系统好象很简单的事情, 只是好象容易出错
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#9

帖子 潇洒走一回 » 2009-09-15 18:22

adagio 写了:脚本不懂,不过tar命令不加上“p”参数,基本上是找死 :em04
谢谢你的慧眼,不过你 tar --help 看一下,那个保留文件权限的p参数对超级用户好象是默认的吧,备份系统肯定只能用sudo啦。。。
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43

Re: 系统备份与恢复这种高度敏感的操作, 我在此谨慎地请教...

#10

帖子 潇洒走一回 » 2009-09-15 22:37

已成功备份, 我关心的是, 再次备份的话, 有什么方法可以通过比较系统文件与归档文件的区别, 并直接对归档文件进行更新(而不是用新的归档文件覆写)吗?
我以前试过, -u 选项好象对 .tar文件生效, 对使用gzip处理过的归档文件无效
谢谢!!!
头像
chenzw
帖子: 76
注册时间: 2008-11-03 14:59
联系:

#11

帖子 chenzw » 2009-09-28 11:25

好帖留名
要好好混论坛

blog: http://zhiwei.in
回复