linux备份正常如何备注,linux系统备份高手经验谈

linux系统备份虽然在平时不经常使用,但是网络管理员会经常遇到linux系统的恢复问题,由于linux系统是处于命令符的操作界面所用在系统的恢复起来的时候比较繁琐。

linux系统备份一直是从windows转到linux的用户关心的问题。由于众所周知的原因,有经验的windows用户都养成了用ghost等软件备份windows系统的“优良传统”,结果这个优良传统也被移植到了linux下。其实ghost用来备份linux也是很不错的,它的压缩功能能够省下不少的硬盘空间,这点对于硬盘紧张的用户来说的确是相当好用的。不过它也有自己的缺点,那就是必须在DOS下使用,如果只是想要解出某部分文件,就只能用windows版的ghost解压出来……,种种因素使得用ghost用来备份linux成为了一件痛苦的事情。

实际上,linux系统备份自带的tar和afio就可以很好的完成这个工作,而且使用起来也相当方便,最明显的一点就是,不用为了备份系统而重启计算机。好,言归正传。

[size=18]1、使用tar进行简单的备份和恢复[/size]

1.备份

tat命令能够将存档数据写到文件、磁带或者原始磁带设备之中。tar命令的典型语法如下所示:

tar -[ c | x | t ] [ -pv ] -f device path1 path2 ...

tar需要带一个参数命令,通常c表示创建(create),x表示解压所(extract),t表示测试(test)。选项p指示tar在解压缩时保留原始文件的所有权和权限。选项v指示tar列出详细操作过程。f选项以及后面的参数指定tar写到给定的设备。所有path1,path2等等参数是要添加到存档中的目录树或者文件。

例如,要将/usr目录树写到$HOME/Backup/usrbak.tar中,可以使用如下命令:

tar -cf $HOME/Backup/usrbak.tar /usr

如果想要将/usr目录树写到/dev/st0的磁带设备中,可以使用如下命令:

tar -cf /dev/st0 /usr

现在聪明的网友应该已经想到了,想要备份整个linux的系统备份文件系统的命令是这样:

tar -cf /dev/st0 /

乍看起来的确是这样的,但是,这个命令却实现不了你的意图。首先,这个命令也会备份/proc目录。根据你的内核版本,它将在你的备份中增加数百兆你不需要的内核运行期数据,甚至会引起tar中断或者分段错误(segmentation fault)。

其次,备份根目录/也会备份/mnt目录,其中会包含装载的CD-ROM数据以及任何装载的网络文件系统甚至于装载的windows分区(这是好事,也可能是坏事,取决于你要做什么)。

要备份除了/proc和/mnt之外的根目录,使用下面的命令:

tar -cf /dev/st0 $(ls / | grep -v -e proc -e mnt)

这个命令将备份除了/proc和/mnt之外的根目录。

2.恢复

创建了一个tar存档文件之后,通常要将每个文件名前面的斜线“/”删除掉。这意味着当恢复文件时,它们将被恢复到tar运行的相对工作目录中去。例如,要将/dev/st0中的磁带恢复到它们的原始路径中,使用下列命令:

cd /: tar -xpf /dev/st0

在恢复过程中可以指定附加的路径。这些路径表示列表中的文件被打包后恢复的路径。允许使用通配符。例如要将/dev/st0磁带中的/usr/X11R6和/usr/local目录树恢复到它们的原始路径,命令如下:

cd /;tar -xpf /dev/st0 'usr/X11r6/*/' 'usr/local/*'

还可以用tee命令将处理的的文件列表在终端显示,并同时将文件列表写到一个文件中,命令如下:

cd /;tar -xpf /dev/st0 'usr/X11r6/*/' 'usr/local/*' | tee /var/log/restored.files

有关使用tar进行更加复杂操作的信息,例如多卷,增量备份和恢复等,可以参看tar的manual

注意:

1、在这里一直没有提及tar的z,j选项。tar -cz(j)确实能够创建压缩tar的归档文件,不过这两个压缩都是基于数据流的。也就是说如果数据保存在磁带上,而磁带发生错误的几率是很高的,如果遇到一个无法恢复的位错误,你将不仅失去这个文件,整个磁带也就毁了。

所以,最好只在错误率低的介质,如硬盘上使用z,j选项。这个问题与基于硬件压缩的磁带设备无关,对于这种设备是无须使用软件压缩的。当然对于大部分网友来说都可以加上z,j选项,毕竟大部分人都没有私人的磁带机。

2、文中的示范命令行都是以/dev/st0为备份设备的,如果是要备份到文件,只要将该参数改为文件的路径即可,如$HOME/Backup/sysbak.tar

[size=18]2、使用afio进行简单的备份和恢复[/size]

afio命令与tar命令类似,而且afio的存档能够与支持cpio(详细信息可以man cpio)命令的系统共同操作,afio支持对单个文件的压缩,更适合于利用没有硬件压缩功能的磁带进行压缩备份。

因为afio将文件列表存档为标准输入流,所以afio的作为存档工具的基本语法包含两个命令:

find path1 path2 ...[-opts] || afio -[i|o|t] [-vZ]device

-i命令用来恢复(input from)磁带或者存档,-o命令(output to)用来写入磁带或者存档,-t命令用来测试磁带或者存档。-v选项对处理文件进行列表,-Z选项在文件写入磁带之前用gzip进行压缩。

备份

通常使用find命令来提供afio要处理的文件列表,可以利用find的特殊功能和afio构造一个更专业更灵活的文件存档计划。

最简单的方式,例如要将/usr目录树写到磁带设备/dev/st0中,使用下列命令:

find /usr | afio -o /dev/st0

要进行同样的存档操作,但是将每个文件在写到磁带之前进行压缩,使用下列命令:

find /usr | afio -o -Z /dev/st0

恢复

要将存档恢复到根目录,可使用-i命令代替-o命令:

cd /;afio -i /dev/st0

要恢复压缩的文档,需记住要包含-Z选项:

cd /;afio -i -Z /dev/st0

afio的详细操作与tar命令的详细操作相同。例如,要在恢复存档的同时在终端上显示处理的文件列表,并将列表保存到/var/log目录的一个文件中,命令如下:

afio -i -Z -v /dev/st0 | tee /var/log/restored.files

有关使用afio进行更加复杂操作的信息。可以参见afio的手册。

[size=18]备注:[/size]

tar和afio用于linux系统备份已经可以工作得很好,但是可能有些用户还是不习惯使用命令行工具,或者某些用户需要更复杂的,网络功能更强的工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 使用date命令显示当前日期。 2. 使用 who命令显示当前所有登录用户的信息,试依次打开多个终端,再查看输出结果的变化。 3. 查看当前linux服务器的主机名的命令。(hostname) 4. 使用clear命令,清除屏幕信息。 5. 添加一个组账号,名称为group1,打开图形界面观察执行后的结果。 6. 查询文件group中group1的记录,改变group1组的GID 为666, 再查看文件group中group1的记录。 7. 以自己的姓名全拼创建一个用户,指定UID为555, 加上用户的备注信息(姓名全称、所在院系等),初始组为group1,有效组为root,打开图形界面观察执行后的结果。 8. 为以自己姓名命名的账户设置密码,并查看passwd文件和shadow文件的最后一行。 9. 使用命令给自己的姓名账户密码冻结,用passwd查看账户相关信息,最后给账户解冻。 10. 进入以自己姓名命名的用户主目录,显示当前的路径,退出当前目录,返回根目录。 11. 复制文件/etc/passwd到用户主目录,文件名不变,打开图形界面Nautilus的窗口观察执行后的结果。 12. 统计文件/etc/passwd文件的字节数和行数。 13. 创建普通文件/home/abc1,创建普通文件/home/abc2。 14. 将/etc/passwd的内容追加到文件abc1中,将/etc/group的内容追加到文件abc2中。(利用附加输出重定向命令)。 15. 修改文件abc1的属性为:属主具有一切权限,同组用户和其他用户具有可读可写的权限。(使用数字模式) 16. 修改abc2的属性为:给其他用户增加可执行的权限。(使用功能模式) 17. 以长文件形式显示文件abc1的详细信息。 18. 进入/home目录,将文件abc1和abc2打包成文件ab.tar,放在以自己姓名命名的用户主目录下(比如/home/liqun),打开图形界面Nautilus的窗口观察执行后的结果。 19. 创建Readme.txt文本文件,内容为你的姓名全拼、学号等信息,保存关闭后用命令查看Readme.txt文件的内容,并在每一行前加行号。 20. 在root目录下创建新文件夹mydir1,其绝对路径为“/root/testdir/mydir1”(假设testdir目录事先并不存在)。 21. 在root目录下创建新文件夹dir1,将其移动到 /root/testdir/mydir1目录下。在root目录下创建新文件夹dir2,将其移动到 /root/testdir目录下,并将其改名为mydir2。打开图形界面Nautilus的窗口,观察以上这些步骤执行后的结果。 22. 分别删除/testdir目录下的mydir1和mydir2目录。(注意rm命令不加-r选项,系统会提示mydir1是个目录不能删除。)(尝试重复步骤20和步骤21,重建上述目录,执行步骤22,比较增加-f选项的区别)。 23. 建立文件/etc/group的符号链接文件/root/a.b,打开图形界面Nautilus的窗口观察a.b文件的特征。 24. 进入根目录的tmp目录下,建立test1和test2两个文件夹,在test1中建立文件a.log, b.log,用ls命令查看所创建的文件a.log,b.log。再把a.log 硬连接到test2目录,文件同名。把b.log 软链接到test2目录下,文件同名。用ls命令查看test2文件夹下所创建的文件,并打开图形界面Nautilus的窗口观察文件夹test2下a.log文件和b.log文件的特征。 25. 由超级用户切换为以自己姓名命名的普通用户身份,并使用普通用户的环境变量,再切换回超级用户身份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值