9.2. 将数据移动到备份设备

9.2.1. 在软盘上制作副本

9.2.1.1. 格式化软盘

在大多数 Linux 系统上,用户可以访问软盘设备。设备的名称可能因软盘驱动器的大小和数量而异,如果您不确定,请联系您的系统管理员。在某些系统上,可能会有一个链接/dev/floppy指向正确的设备,可能是/dev/fd0(自动检测软盘设备)或/dev/fd0H1440(设置为 1.44MB 软盘)。

fdformat 是低级软盘格式化工具。它以软盘的设备名称作为选项。fdformat 在软盘被写保护时会显示错误。

emma:~> fdformat /dev/fd0H1440
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... done
emma:~>

mformat 命令(来自 mtools 软件包)用于创建 DOS 兼容的软盘,然后可以使用 mcopymdir 和其他 m-命令访问这些软盘。

图形工具也可用。

图 9-1. 软盘格式化器

软盘格式化后,可以将其挂载到文件系统中,并像普通的(尽管很小)目录一样访问,通常通过/mnt/floppy条目。

如果您需要,请安装 mkbootdisk 实用程序,它会制作一张可以从中启动当前系统的软盘。

9.2.1.2. 使用 dd 命令转储数据

dd 命令可用于将数据放入磁盘,或从中取出数据,具体取决于给定的输入和输出设备。一个例子

gaby:~> dd if=images-without-dir.tar.gz of=/dev/fd0H1440
98+1 records in
98+1 records out

gaby~> dd if=/dev/fd0H1440 of=/var/tmp/images.tar.gz
2880+0 records in
2880+0 records out

gaby:~> ls /var/tmp/images*
/var/tmp/images.tar.gz

请注意,转储是在未挂载的设备上完成的。使用此方法创建的软盘将无法在文件系统中挂载,但这当然是创建启动盘或急救盘的方法。有关 dd 可能性的更多信息,请阅读 man 手册。

此工具是 GNU coreutils 软件包的一部分。

Note转储磁盘
 

dd 命令也可用于制作整个硬盘的原始转储。

9.2.2. 使用 CD 刻录机制作副本

在某些系统上,用户可以被允许使用 CD 刻录机设备。您的数据需要先进行格式化。使用 mkisofs 命令在包含您要备份的文件的目录中执行此操作。使用 df 检查是否有足够的磁盘空间可用,因为将创建一个与整个当前目录大小大致相同的新文件

[rose@blob recordables] df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/hde5              19G   15G  3.2G  82% /home

[rose@blob recordables] du -h -s .
325M    .

[rose@blob recordables] mkisofs -J -r -o cd.iso .
<--snap-->
making a lot of conversions
<--/snap-->
98.95% done, estimate finish Fri Apr  5 13:54:25 2002
Total translation table size: 0
Total rockridge attributes bytes: 35971
Total directory bytes: 94208
Path table size(bytes): 452
Max brk space used 37e84
166768 extents written (325 Mb)

以下-J-r选项用于使 CD-ROM 可在不同的系统上挂载,更多信息请参见 man 手册。之后,可以使用 cdrecord 工具和适当的选项创建 CD

[rose@blob recordables] cdrecord -dev 0,0,0 -speed=8 cd.iso
Cdrecord 1.10 (i686-pc-linux-gnu) (C) 1995-2001 Joerg Schilling
scsidev: '0,0,0'
scsibus: 0 target: 0 lun: 0
Linux sg driver version: 3.1.20
Using libscg version 'schily-0.5'
Device type    : Removable CD-ROM
Version        : 0
Response Format: 1
Vendor_info    : 'HP      '
Identification : 'CD-Writer+ 8100 '
Revision       : '1.0g'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags   : SWABAUDIO
Starting to write CD/DVD at speed 4 in write mode for single session.
Last chance to quit, starting real write in 0 seconds. 
Operation starts.

根据您的 CD 刻录机,您现在有时间抽根烟^H^H^H^H^H 吃一块健康的水果和/或喝一杯咖啡。完成工作后,您将收到确认消息

Track 01: Total bytes read/written: 341540864/341540864 
          (166768 sectors).

有一些图形工具可以使操作更轻松。流行的工具之一是 xcdroast,它可以从 X-CD-Roast 网站免费获得,并且包含在大多数系统和 GNU 目录中。KDE 和 Gnome 桌面管理器都具有制作自己的 CD 的功能。

9.2.3. 在/从 Jazz 驱动器、USB 设备和其他可移动设备上备份

这些设备通常挂载到文件系统中。挂载过程之后,它们就像普通的目录一样被访问,因此您可以使用标准命令来操作文件。

在下面的示例中,图像从 USB 相机复制到硬盘

robin:~> mount /mnt/camera

robin:~> mount | grep camera
/dev/sda1 on /mnt/camera type vfat (rw,nosuid,nodev)

如果相机是您连接到系统的唯一 USB 存储设备,这是安全的。但请记住,USB 设备在/dev中被分配条目,因为它们已连接到系统。因此,如果您首先将 USB 闪存盘连接到系统,它将在/dev/sda条目上,如果您在此之后连接相机,它将被分配给/dev/sdb- 前提是您没有任何 SCSI 磁盘,它们也在/dev/sd*上。在较新的系统上,自内核 2.6 起,一个名为 HAL(硬件抽象层)的热插拔系统确保用户不必处理此负担。如果您想检查您的设备在哪里,请在插入后键入 dmesg

您现在可以复制文件

robin:~> cp -R /mnt/camera/* images/

robin:~> umount /mnt/camera

同样,Jazz 驱动器可以挂载在/mnt/jazz.

适当的行应添加到/etc/modules.conf/etc/fstab中以使其工作。有关更多信息,请参阅特定的硬件 HOWTO。在具有 2.6.x 或更高版本内核的系统上,您可能还需要查看 modprobemodprobe.conf.

9.2.4. 使用磁带设备备份数据

这可以使用 tar 完成(见上文)。mt 工具用于控制磁带设备,例如/dev/st0。关于磁带备份的书籍已经写了很多,因此,有关更多信息,请参阅附录 B中的阅读清单。请记住,由于数据库的架构,它们可能需要其他备份程序。

适当的备份命令通常放在 cron 目录之一中,以便定期执行它们。在较大的环境中,可以实施免费提供的 Amanda 备份套件或商业解决方案来备份多台机器。但是,使用磁带是超出本文档范围的系统管理任务。

9.2.5. 来自您的发行版的工具

大多数 Linux 发行版都提供了自己的工具,使您的生活更轻松。简短概述