加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

四种时下流行 Linux备份工具比较与操作实例

发布时间:2016-09-29 20:31:39 所属栏目:系统 来源:赛迪网
导读:副标题#e# 标准的UNIX系统皆有提供基本的备份工具,不同的备份工具有不同的差异。dump,cpio,tar及dd,dump及restore通常是最好的选择。其次是cpio,但是它比tar来的不亲和些;tar则比dump或cpio更容易使用。如果希望使用tar或cpio备份raw devices或执行异地

2. 配合使用 find 命令复制整个目录

$ find . |cpio -ov >archive.cpio

使用dump备份资料

# dump levelunbdsf blkg-factor density size device-name file_system

下面是执行此指令的例子:

◆对/home做一完整备份至本地磁带机/dev/rmt/0cbn:

# dump 0unbdsf 126 141000 11500 /dev/rmt/0cbn /home

◆对/home做一完整备份至光盘机/backup/home.dump:

# dump 0unbdsf 126 141000 11500 /backup/home.dump /home

◆对/home做一完整备份至远端主机hsm的磁带机/dev/rmt/0cbn:

# (r)dump 0unbdsf 126 141000 11500 hsm:/dev/rmt/0cbn /home

上述的指令包含不需要参数的三个选项( 0,u, 及 n ),及需要参数的四个选项( b,d,s 及 f )。

dump 指令的第一个参数是一串选项,然后每个选项对应的参数依照选项的顺序依次放置于指令行。

使用resotore工具恢复

配合 dump 的程序是 restore,它用于从转储映像还原文件。restore 命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。

您必须相当熟悉以不同的方式使用 restore 指令,从 dump 产生 的备份中取得资料。

restore指令的语法

一旦可以读取 dump 磁带, 您必须决定要读什么资料及如何读它,以下讨论 restore 一般常用的参数。

基本上,有四件事情是你希望dump磁带提供的:

◆读取dump磁带的目录以确认内容是否需要;

◆恢复整个档案系统;

◆恢复选定的档案;

◆执行互动式的恢复。

一般restore指令语法如下:

restore [trxi]vbsfy blocking-factor file-number device-name

restore指令的选项

restore 的行为如何,端视其后的参数型态决定恢复的形式。 第一个参数指明 restore 的型式,只可以从四种可能的参数中挑选一种:

t:告诉restore显示备份磁带的目录。

r:指明备份磁带的整卷内容恢复到目前的工作目录之下。

x:只恢复restore指令行末端所列的档案。

i:以互动方式恢复资料。

决定恢复的行为

下面的参数不是必须的,但会影响恢复的行为:

v:指定以明细(verbose)的方式输出。

s:在开始读磁带前需跳过一些磁带上的档案。

b:指定正要读取磁带的区块因子。

f:标明正使用的备份设备之档名。

y:告诉restore尝试从读取错误中救回。

含备份资料的储存媒体可读否?

为确保你知道备份磁带的格式与区块数目大小, 先尝试列出它的 目录。 下列指令可产生 dump 备份磁带的目录:

$ restore tbfy block_size device-name

例如,从一个在 /dev/rmt/0cbn 磁带设备上的 dump 磁带(使用 的区块因子是 32 )读取其目录,指令如下:

$ restore tbfy 32 /dev/rmt/0cbn

Restore命令举例:

从磁带备份中提取 /etc 目录,可使用以下命令:

restore -xf /dev/nst0 /etc

使用dump/restore恢复单个文件

1. 准备用dump备份/boot目录下的文件. 使用df /boot查看/boot所在的设备(以下假设为/dev/hda1)

2. 首先确认备份需要的空间. 查看一个0级备份需要的字节数,使用 -S

# dump -oS /dev/hda1

3. 备份到文件而非磁带. 确认在/var/tmp目录是否有足够的空间,执行

# dump -0u –f /var/tmp/dumpfile /dev/hda1

4. 检查/etc/dumpdates,查看完全备份的时间戳.

5. 使用restore检查备份文件的内容

# restore –tf /var/tmp/dumpfile

6. 我们可以使用restore的互动模式恢复特定文件到一个临时目录.

# mkdir /tmp/restored; cd /tmp/restored# restore –if /var/tmp/dumpfile

7. 这时会看到一个restore > 提示符. 键入help查看可用命令的列表. 使用ls和cd命令查看备份文件的列表.

8. 使用add,选中/grub.menu.1st和/grub/grub.conf文件.列出所在目录,恢复的文件应该带有星号.

9. 键入extract命令恢复选中的文件.设置下个卷名为1, 不为解压目录设置所有者模式. quit退出restore模式.

10. 在restore运行的目录中应该有一个grub目录,包含恢复的grub.conf和menu.1st文件.

cpio 命令操作举例:

1. 拷贝当前目录中所有文件到磁带设备 /dev/rmt0,输入:

find . | /usr/sysv/bin/cpio -oc >/dev/rmt0

2. 从 cpio 归档中只抽取一个常规文件中的文件列表,使用下列命令:

cat ar | /usr/sysv/bin/cpio -i -E Efile

3. 把/home目录备份到SCSI磁带设备中,输入下面的命令:

$ls /home | cpio -o > /dev/st0

你也可以对cpio的备份进行计划,用crontab工具设置成基于任何时间的有规律地运行。例如,要在每晚2点把/ home目录备份到SCSI磁带驱动器中,把下面的语句添加到root的crontab文件中即可:

00 02 * * * ls /home | cpio -o > /dev/st0

dd命令举例:

1.把第一个硬盘的前 512 个字节存为一个文件:

dd if=/dev/hda of=disk.mbr bs=512 count=1

2为软盘建立镜像文件

dd if=/dev/fd0 of=disk.img bs=1440k

有趣的是,这个镜像文件能被 HD-Copy ,Winimage 等工具软件读出。

cp命令举例:

1 将dir1下的所有目录包括子目录陆续地复制到dir2中。

#cp -a dir1 dir2

2.将一个目录中的内容复制到一个已有的目录中

$ cp -r /home/mc/* /export/home/mc

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读