This chapter describes the procedures for backing up file systems by using the ufsdump command.
For information on these procedures, see Backing Up Files and File System (Task Map).
For overview information about performing backups, see Chapter 45, Backing Up and Restoring File Systems (Overview).
For detailed information on ufsdump syntax, options, and arguments, see Chapter 49, UFS Backup and Restore Commands (Reference).
Task |
Description |
For Instructions |
---|---|---|
1. Prepare for file system backups |
Identify the file systems, the type of backup, and the tape device to be used for the backups. | |
2. Determine the number of tapes needed to back up a file system |
Determine the number of tapes that are needed for a full backup of a file system. |
How to Determine the Number of Tapes Needed for a Full Backup |
3. Back up your file systems |
Perform a full backup of your file systems to get baseline copies of all files. Perform an incremental backup of your file systems based on whether keeping copies of files that have changed on a daily basis is important at your site. |
The preparation for backing up file systems begins with planning, which is described in Chapter 45, Backing Up and Restoring File Systems (Overview) and includes choosing the following:
The file systems to back up
The type of backup (full or incremental) to perform
A backup schedule
A tape drive
This section describes other tasks you might need to perform before you back up file systems, including the following:
Finding names of file systems to back up
Determining the number of tapes that are needed for a full backup
Display the contents of the /etc/vfstab file.
$ more /etc/vfstab |
Look in the mount point column for the name of the file system.
Use the directory name listed in the mount point column when you back up the file system.
The file systems to be backed up in this example are root (/), /usr, /datab, and /export/home.
$ more /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s1 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 1 no - /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /datab ufs 2 yes - /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes - swap - /tmp tmpfs - yes - |
Become superuser or assume an equivalent role.
Estimate the size of the backup in bytes.
# ufsdump S file-system |
The S displays the estimated number of bytes that are needed to do the backup.
Divide the estimated size by the capacity of the tape to see how many tapes you need.
For a list of tape capacities, see Table 45–5.
In this example, the file system of 489,472 bytes easily fits on a 150-Mbyte tape.
# ufsdump S /export/home 489472 |
The following are general guidelines for performing backups:
Use single-user mode or unmount the file system, unless you are creating a snapshot of a file system. For information about UFS snapshots, see Chapter 47, Using UFS Snapshots (Tasks).
Be aware that the backing up of file systems when there are directory-level operations (such as creating, removing, and renaming files) and file-level activity occurring means that some data will not be included in the backup.
You can run the ufsdump command from a single system and remotely back up groups of systems across the network through remote shell or remote login, and direct the output to the system on which the tape drive is located. (Typically, the tape drive is located on the system from which you run the ufsdump command, but it does not have to be.)
Another way to back up files to a remote drive is to pipe the output from the ufsdump command to the dd command. For information about using the dd command, see Chapter 50, Copying UFS Files and File Systems (Tasks).
If you are doing remote backups across the network, the system with the tape drive must have entries in its /.rhosts file for each client that will be using the drive. Also, the system that initiates the backup must be included in the /.rhosts file on each system that it will back up.
To specify a remote tape device on a system, use the naming convention that matches the OS release of the system with the remote tape drive. For example, use the /dev/rst0 device for a remote drive on a system that is running the SunOS 4.1.1 release or compatible versions. Use the /dev/rmt/0 device for a system running the Solaris 9 release or compatible versions.
Use the nisbackup command to back up a NIS+ master server. For information on using this command, see System Administration Guide: Naming and Directory Services (FNS and NIS+).
The following steps provide the general steps for backing up file systems using the ufsdump command. The examples show specific uses of options and arguments.
Become superuser or assume an equivalent role.
Bring the system to run level S (single-user mode).
# shutdown -g30 -y |
(Optional) Check the file system for consistency.
# fsck -m /dev/rdsk/device-name |
The fsck -m command checks for the consistency of file systems. For example, power failures can leave files in an inconsistent state. For more information on the fsck command, see Chapter 42, Checking UFS File System Consistency (Tasks).
If you need to back up file systems to a remote tape drive:
On the system to which the tape drive is attached (the tape server), add the following entry to its /.rhosts file.
host root |
The host entry specifies the name of the system on which you will run the ufsdump command to perform the backup.
On the tape server, verify that the host added to the /.rhosts file is accessible through the name service.
Identify the device name of the tape drive.
The default tape drive is the /dev/rmt/0 device.
Insert a tape that is not write-protected into the tape drive.
Back up file systems.
# ufsdump options arguments filenames |
The following examples show how to use the most common ufsdump options and arguments:
For other ufsdump options and arguments, see Chapter 49, UFS Backup and Restore Commands (Reference).
If prompted, remove the tape and insert the next tape volume.
Label each tape with the volume number, dump level, date, system name, disk slice, and file system.
Bring the system back to run level 3 by pressing Control-D.
Verify that the backup was successful.
# ufsrestore tf device-name |
The following example shows how to do a full backup of the root (/) file system. The system in this example is brought to single-user mode before the backup. The following ufsdump options are included:
0 specifies that this is a 0 level dump (or a full backup)
u specifies that the /etc/dumpdates file is updated with the date of this backup
c identifies a cartridge tape device
f /dev/rmt/0 identifies the tape device
/ is the file system being backed up
# shutdown -g30 -y # ufsdump 0ucf /dev/rmt/0 / DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Wed Sep 05 13:27:20 2001 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t1d0s0 (earth:/) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 57150 blocks (27.91MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 57076 blocks (27.87MB) on 1 volume at 265 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Wed Sep 05 13:27:20 2001 # ufsrestore tf /dev/rmt/0 2 . 3 ./lost+found 3776 ./usr 7552 ./var 11328 ./export 15104 ./export/home 18880 ./etc 22656 ./etc/default 22657 ./etc/default/sys-suspend 22673 ./etc/default/cron 22674 ./etc/default/devfsadm 22675 ./etc/default/dhcpagent 22676 ./etc/default/fs 22677 ./etc/default/inetinit 22678 ./etc/default/kbd 22679 ./etc/default/mpathd 22680 ./etc/default/nfslogd 22681 ./etc/default/passwd . . . # (Press Control-d to bring system to run level 3) |
The following example shows how to do an incremental backup of the root (/) file system. The following ufsdump options are included:
9 specifies that this is a 9 level dump (or an incremental backup)
u specifies that the /etc/dumpdates file is updated with the date of this backup
c identifies a cartridge tape device
f /dev/rmt/0 identifies the tape device
/ is the file system being backed up
# ufsdump 9ucf /dev/rmt/0 / DUMP: Writing 63 Kilobyte records DUMP: Date of this level 9 dump: Fri Jul 13 10:58:12 2001 DUMP: Date of last level 0 dump: Fri Jul 13 10:46:09 2001 DUMP: Dumping /dev/rdsk/c0t0d0s0 (starbug:/) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 200 blocks (100KB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 124 blocks (62KB) on 1 volume at 8 KB/sec DUMP: DUMP IS DONE DUMP: Level 9 dump on Fri Jul 13 10:58:12 2001 # 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 . . . |
The following example shows how to do a full backup of the /export/home/kryten directory. The following ufsdump options are included:
0 specifies that this is a 0 level dump (or a full backup)
u specifies that the /etc/dumpdates file is updated with the date of this backup
c identifies a cartridge tape device
f /dev/rmt/0 identifies the tape device
/export/home/kryten is the directory being backed up
# ufsdump 0ucf /dev/rmt/0 /export/home/kryten DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Fri Jul 13 11:30:45 2001 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t3d0s7 (pluto:/export/home) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 232 blocks (116KB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 124 blocks (62KB) on 1 volume at 8 KB/sec DUMP: DUMP IS DONE # ufsrestore tf /dev/rmt/0 2 . 2688 ./kryten 5409 ./kryten/letters 5410 ./kryten/letters/letter1 5411 ./kryten/letters/letter2 5412 ./kryten/letters/letter3 2689 ./kryten/.profile 8096 ./kryten/memos 30 ./kryten/reports 31 ./kryten/reports/reportA 32 ./kryten/reports/reportB 33 ./kryten/reports/reportC # |
The following example shows how to do a full backup of a local /export/home file system on a Solaris 9 system (starbug) to a tape device on a remote Solaris 9 system (earth).The following ufsdump options are included:
0 specifies that this is a 0 level dump (or a full backup)
u specifies that the /etc/dumpdates file is updated with the date of this backup
c identifies a cartridge tape device
f earth:/dev/rmt/0 identifies the remote system name and tape device
/export/home is the file system being backed up
# ufsdump 0ucf earth:/dev/rmt/0 /export/home DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Wed Sep 05 14:52:31 2001 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s7 (starbug:/export/home) to earth:/dev ... DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 266 blocks (133KB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 250 blocks (125KB) on 1 volume at 247 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Wed Sep 05 14:52:31 2001 # ufsrestore tf earth:/dev/rmt/0 2 . 3 ./lost+found 7168 ./rimmer 7169 ./rimmer/.profile 21504 ./rimmer/scdir 21505 ./rimmer/scdir/scd557 21506 ./rimmer/scdir/scd772 10752 ./lister 10753 ./lister/.profile 10754 ./lister/filea 10755 ./lister/fileb 10756 ./lister/filec 14336 ./pmorph 14337 ./pmorph/.profile 3584 ./pmorph/bigdir 3585 ./pmorph/bigdir/bigfile 17920 ./pmorph/smalldir 17921 ./pmorph/smalldir/smallfile # |