以下是使用 ufsdump 命令备份文件系统的常规步骤。这些示例说明了选项和参数的特定用途。
成为超级用户或承担等效角色。
使系统进入运行级 S(单用户模式)。
例如:
# shutdown -g30 -y |
(可选)检查文件系统的一致性。
例如:
# fsck -m /dev/rdsk/c0t0d0s7 |
fsck -m 命令用于检查文件系统的一致性。例如,电源故障可能会使文件处于不一致的状态。有关 fsck 命令的更多信息,请参见第 22 章,检查 UFS 文件系统一致性(任务)。
如果需要将文件系统备份到远程磁带机,请执行以下步骤:
确定磁带机的设备名称。
缺省的磁带机为 /dev/rmt/0 设备。
将可写的磁带插入磁带机。
备份文件系统。
# ufsdump options arguments filenames |
可以备份文件系统或目录,也可以备份文件系统中的文件。有关备份各个文件的信息,请参见 tar(1) 或 cpio(1)。
以下示例说明如何使用最常见的 ufsdump 选项和参数:
有关其他 ufsdump 选项和参数的信息,请参见第 28 章,UFS 备份和恢复命令(参考)。
如果出现提示,请取出磁带并插入下一个磁带卷。
使用卷编号、转储级别、日期、系统名称、磁盘片和文件系统标记每个磁带。
通过按 Control-D 组合键使系统回到运行级 3。
检验备份是否成功。
# ufsrestore tf device-name |
以下示例说明如何执行根 (/) 文件系统的完整备份。本示例中的系统将在备份之前进入单用户模式。包括以下 ufsdump 选项:
0 指定 0 级转储(或完整备份)。
u 指定将 /etc/dumpdates 文件更新为此备份的日期。
c 标识盒式磁带设备。
f /dev/rmt/0 标识磁带设备。
/ 表示正在备份的文件系统。
例如:
# init 0 ok boot -s # ufsdump 0ucf /dev/rmt/0 / DUMP: Date of this level 0 dump: Wed Jul 28 16:13:52 2004 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s0 (starbug:/) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Writing 63 Kilobyte records DUMP: Estimated 363468 blocks (177.47MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Wed Jul 28 16:13:52 2004 # ufsrestore tf /dev/rmt/0 2 . 3 ./lost+found 4 ./usr 5 ./export 6 ./export/home 7 ./var 8 ./var/sadm 9 ./var/sadm/install 10 ./var/sadm/install/admin 823 ./var/sadm/install/admin/default 11 ./var/sadm/install/logs 697 ./var/sadm/install/logs/SUNWmpatchmgr 905 ./var/sadm/install/logs/Additional_Software_install... 906 ./var/sadm/install/logs/Additional_Software_install... 13 ./var/sadm/install/.lockfile 14 ./var/sadm/install/install.db 824 ./var/sadm/install/special_contents 838 ./var/sadm/install/contents . . . # (Press Control-D to bring system to run level 3) |
以下示例说明如何在单用户模式下执行根 (/) 文件系统的增量备份。包括以下 ufsdump 选项:
9 指定 9 级转储(或增量备份)。
u 指定将 /etc/dumpdates 文件更新为此备份的日期。
c 标识盒式磁带设备。
f /dev/rmt/0 标识磁带设备。
/ 表示正在备份的文件系统。
# init 0 ok boot -s # ufsdump 9ucf /dev/rmt/0 / DUMP: Date of this level 9 dump: Wed Jul 28 14:26:50 2004 DUMP: Date of last level 0 dump: Wed Jul 28 11:15:41 2004 DUMP: Dumping /dev/rdsk/c0t0d0s0 (starbug:/) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Writing 63 Kilobyte records DUMP: Estimated 335844 blocks (163.99MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: 335410 blocks (163.77MB) on 1 volume at 893 KB/sec DUMP: DUMP IS DONE DUMP: Level 9 dump on Wed Jul 28 14:30:50 2004 # ufsrestore tf /dev/rmt/0 2 . 3 ./lost+found 5696 ./usr 11392 ./var 17088 ./export 22784 ./export/home 28480 ./opt 5697 ./etc 11393 ./etc/default 11394 ./etc/default/sys-suspend 11429 ./etc/default/cron 11430 ./etc/default/devfsadm 11431 ./etc/default/dhcpagent 11432 ./etc/default/fs 11433 ./etc/default/inetinit 11434 ./etc/default/kbd 11435 ./etc/default/nfslogd 11436 ./etc/default/passwd 11437 ./etc/default/tar . . . |
以下示例说明如何执行 /export/home/kryten 起始目录的完整备份。包括以下 ufsdump 选项:
0 指定这是 0 级转储(或完整备份)。
u 指定将 /etc/dumpdates 文件更新为此备份的日期。
c 标识盒式磁带设备。
f /dev/rmt/0 标识磁带设备。
/export/home/kryten 表示正在备份的目录。
# ufsdump 0ucf /dev/rmt/0 /export/home/kryten DUMP: Date of this level 0 dump: Wed Jul 28 15:02:48 2004 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s7 (starbug:/export/home) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Writing 63 Kilobyte records DUMP: Estimated 2412 blocks (1.18MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: 2392 blocks (1.17MB) on 1 volume at 4241 KB/sec DUMP: DUMP IS DONE # ufsrestore tf /dev/rmt/0 232 ./kryten 233 ./kryten/filea 234 ./kryten/fileb 235 ./kryten/filec 236 ./kryten/letters 237 ./kryten/letters/letter1 238 ./kryten/letters/letter2 239 ./kryten/letters/letter3 240 ./kryten/reports 241 ./kryten/reports/reportA 242 ./kryten/reports/reportB 243 ./kryten/reports/reportC # |
以下示例说明如何在单用户模式下将 Solaris 10 系统 (mars) 上的本地 /export/home 文件系统完整备份到远程 Solaris 10 系统 (earth) 上的磁带设备。包括以下 ufsdump 选项:
0 指定 0 级转储(或完整备份)。
u 指定将 /etc/dumpdates 文件更新为此备份的日期。
c 标识盒式磁带设备。
f earth:/dev/rmt/0 标识远程系统名称和磁带设备。
/export/home 表示正在备份的文件系统。
# ufsdump 0ucf earth:/dev/rmt/0 /export/home DUMP: Date of this level 0 dump: Wed Jul 28 15:52:59 2004 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s7 (mars:/export/home) to earth:/dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Writing 63 Kilobyte records DUMP: Estimated 8282 blocks (4.04MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 8188 blocks (4.00MB) on 1 volume at 67 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Wed Jul 28 15:52:59 2004 # ufsrestore tf earth:/dev/rmt/0 2 . 3 ./lost+found 4 ./kryten 5 ./kryten/filea 6 ./kryten/fileb 7 ./kryten/filec 8 ./kryten/letters 9 ./kryten/letters/letter1 10 ./kryten/letters/letter2 11 ./kryten/letters/letter3 12 ./kryten/reports . . . # |