Linux Tape Backup with Mt and Tar Command Howto by VIVEK GITE on APRIL 19, 2006 · 30 COMMENTS · Last Updated at JUNE 3, 2009
Total Page:16
File Type:pdf, Size:1020Kb
Linux Tape Backup With mt And tar Command Howto by VIVEK GITE on APRIL 19, 2006 · 30 COMMENTS · last updated at JUNE 3, 2009 Magnetic tape is a non-volatile storage medium consisting of a magnetic coating on a thin plastic strip. Nearly all recording tape is of this type, whether used for video, audio storage or general purpose digital data storage using a computer. How do I make backup using tapes under Linux operating systems? Linux (and other Unixish system) use mt command to control magnetic tape drive operation. You need to use mt command while working with tape drive. It allows you to reading and writing to tape. The default tape drive under Linux is /dev/st0 (first SCSI tape device name). You can read more about tape drives naming convention used under Linux here. Following paragraph summaries command you need to use control tape drive for backup/restore purpose. Rewind tape drive:# mt -f /dev/st0 rewindBackup directory /www and /home with tar command (z - compressed):# tar -czf /dev/st0 /www /homeFind out what block you are at with mt command:# mt -f /dev/st0 tellDisplay list of files on tape drive:# tar -tzf /dev/st0Restore /www directory:# cd / # mt -f /dev/st0 rewind # tar -xzf /dev/st0 wwwUnload the tape:# mt -f /dev/st0 offlineDisplay status information about the tape unit:# mt -f /dev/st0 statusErase the tape:# mt -f /dev/st0 eraseYou can go BACKWARD or FORWARD on tape with mt command itself: (a) Go to end of data:# mt -f /dev/nst0 eod(b) Goto previous record:# mt -f /dev/nst0 bsfm 1(c) Forward record:# mt -f /dev/nst0 fsf 1Replace /dev/st0 with your actual tape drive name. Linux Tape Backup Example To backup to multiple tape use the following command (backup /home file system): # tar -clpMzvf /dev/st0 /home To compare tape backup, enter: # tar -dlpMzvf /dev/st0 /home To restore tape in case of data loss or hard disk failure: # tar -xlpMzvf /dev/st0 /home UNIX Devices Name Block and Character Devices Hardware devices can generally be categorized into random access devices like disk and tape drives, and serial devices like mouse devices, sound cards, and terminals. Random access devices are usually accessed in large contiguous blocks of data that are stored persistently. They are read from in discrete units (for most disks, 1024 bytes at a time). These are known as block devices. Running an ls -l /dev/hda shows a b on the far left of the listing, which means that your hard disk is a block device: brw-r----- 1 root disk 3, 64 Apr 27 1995 /dev/hdb Serial devices, on the other hand, are accessed one byte at a time. Data can be read or written only once. For example, after a byte has been read from your mouse, the same byte cannot be read by some other program. Serial devices are called character devices and are indicated by a c on the far left of the listing. Your/dev/dsp (Digital Signal Processor--that is, your sound card) device looks like: crw-r--r-- 1 root sys 14, 3 Jul 18 1994 /dev/dsp 18.3 Major and Minor Device Numbers Devices are divided into sets called major device numbers. For instance, all SCSI disks are major number 8. Further, each individual device has a minor device number like /dev/sda, which is minor device 0. Major and minor device numbers identify the device to the kernel. The file name of the device is arbitrary and is chosen for convenience and consistency. You can see the major and minor device number ( 8, 0) in the ls listing for /dev/sda: brw-rw---- 1 root disk 8, 0 May 5 1998 /dev/sda 18.4 Common Device Names A list of common devices and their descriptions follows. The major numbers are shown in parentheses. The complete reference for devices is the file/usr/src/linux/Documentation/devices.txt. /dev/hd?? hd stands for hard disk, but refers here only to IDE devices--that is, common hard disks. The first letter after the hd dictates the physical disk drive: /dev/hda (3) First drive, or primary master. /dev/hdb (3) Second drive, or primary slave. /dev/hdc (22) Third drive, or secondary master. /dev/hdd (22) Fourth drive, or secondary slave. When accessing any of these devices (with, say, less /dev/hda), you would be reading raw from the actual physical disk starting at the first sector of the first track, sequentially, until the last sector of the last track. Partitions [With all operating systems, disk drives are divided into sections called partitions. A typical disk might have 2 to 10 partitions. Each partition acts as a whole disk on its own, giving the effect of having more than one disk. For instance, you might have Windows installed on one partition and LINUX installed on another. More details come in Chapter 19.]are named /dev/hda1, /dev/hda2, etc., indicating the first, second, etc., partition on physical drive a. /dev/sd?? (8) sd stands for SCSI disk, the high-end drives mostly used by servers. sda is the first physical disk probed, and so on. Probing goes by SCSI ID and has a system completely different from that of IDE devices. /dev/sda1 is the first partition on the first drive, etc. /dev/ttyS? (4) These are serial devices numbered from 0 up. /dev/ttyS0 is your first serial port (COM1 under MS-DOS or Windows). If you have a multiport card, these can go to 32, 64, and up. /dev/psaux (10) PS/2 mouse. /dev/mouse A symlink to /dev/ttyS0 or /dev/psaux. Other mouse devices are also supported. /dev/modem A symlink to /dev/ttyS1 or whatever port your modem is on. /dev/cua? (4) Identical to ttyS? but now fallen out of use. /dev/fd? (2) Floppy disk. fd0 is equivalent to your A: drive and fd1 your B: drive. The fd0 and fd1 devices autodetect the format of the floppy disk, but you can explicitly specify a higher density by using a device name like /dev/fd0H1920, which gives you access to 1.88 MB, formatted, 3.5-inch floppies. Other floppy devices are shown in Table 18.1. See Section 19.3.4 on how to format these devices. Table 18.1: Floppy device names /dev/par? (6) Parallel port. /dev/par0 is your first parallel port or LPT1 under DOS. /dev/lp? (6) Line printer. Identical to /dev/par?. /dev/urandom Random number generator. Reading from this device gives pseudo-random numbers. /dev/st? (9) SCSI tape. SCSI backup tape drive. /dev/zero (1) Produces zero bytes, and as many of them as you need. This is useful if you need to generate a block of zeros for some reason. Use dd (see Section 18.5.2) to read a specific number of zeros. /dev/null (1) Null device. Reads nothing. Anything you write to the device is discarded. This is very useful for discarding output. /dev/pd? Parallel port IDE disk. /dev/pcd? Parallel port ATAPI CD-ROM. /dev/pf? Parallel port ATAPI disk. /dev/sr? SCSI CD-ROM. /dev/scd? SCSI CD-ROM (Identical, alternate name). /dev/sg? SCSI generic. This is a general-purpose SCSI command interface for devices like scanners. /dev/fb? (29) Frame buffer. This represents the kernel's attempt at a graphics driver. /dev/cdrom A symlink to /dev/hda, /dev/hdb, or /dev/hdc. It can also be linked to your SCSI CD-ROM. /dev/ttyI? ISDN modems. /dev/tty? (4) Virtual console. This is the terminal device for the virtual console itself and is numbered /dev/tty1 through /dev/tty63. /dev/tty?? (3) and /dev/pty?? (2) Other TTY devices used for emulating a terminal. These are called pseudo-TTYs and are identified by two lowercase letters and numbers, such as ttyq3. To nondevelopers, these are mostly of theoretical interest. The file /usr/src/linux/Documentation/devices.txt also has this to say (quoted verbatim): Recommended links It is recommended that these links exist on all systems: Locally defined links The following links may be established locally to conform to the configuration of the system. This is merely a tabulation of existing practice, and does not constitute a recommendation. However, if they exist, they should have the following uses: /dev/modem should not be used for a modem which supports dial-in as well as dialout, as it tends to cause lock file problems. If it exists, /dev/modem should point to the appropriate primary TTY device (the use of the alternate callout devices is deprecated). For SCSI devices, /dev/tape and /dev/cdrom should point to the ``cooked'' devices ( /dev/st* and /dev/sr*, respectively), whereas /dev/cdwriter and /dev/scannershould point to the appropriate generic SCSI devices ( /dev/sg*). /dev/mouse may point to a primary serial TTY device, a hardware mouse device, or a socket for a mouse driver program (e.g. /dev/gpmdata). Sockets and pipes Non-transient sockets and named pipes may exist in /dev. Common entries are: 18.5 dd, tar, and Tricks with Block Devices dd probably originally stood for disk dump. It is actually just like cat except it can read and write in discrete blocks. It essentially reads and writes between devices while converting the data in some way. It is generally used in one of these ways: dd if=<in-file> of=<out-file> [bs=<block-size>] \ [count=<number-of-blocks>] [seek=<output-offset>] \ [skip=<input-offset>] 5 dd if=<in-file> [bs=<block-size>] [count=<number-of-blocks>] \ [skip=<input-offset>] > <outfile> dd of=<out-file> [bs=<block-size>] [count=<number-of-blocks>] \ [seek=<output-offset>] < <infile> To use dd, you must specify an input file and an output file with the if= and of= options.