on Sat, Nov 10, 2001 at 11:14:36AM -0800, Kurt Lieber (debian@kirpatrick.com) wrote: > I've been using Karsten Self's sample backup script available in the Linux > Backup mini-FAQ at: > > http://kmself.home.netcom.com/Linux/FAQs/backups.html > > This script basically uses tar to archive a list of directories to tape and > then verifies the backup as well. When I run the script, the output is the > following: > > z8:~/backup# ./full.script > tar: Removing leading `/' from member names > [snip 8 more lines of this] > /etc: verified > /root: verified > /boot: verified > /home: verified > /usr/local: verified > /var/backups: verified > /var/lib: verified > /var/log: verified > /var/www: verified > > Which leads me to believe all the data has been backed up and is good to go. > However, if I do "tar tvf /dev/st0" to list the contents of the tape, all I > get is the following: > > z8:~/backup# tar -tvf /dev/st0 > drwxr-xr-x root/root 0 2001-10-18 19:59:23 var/www/ > -rw-r--r-- root/root 4100 2001-03-22 17:39:29 var/www/index.html > -rw-r--r-- root/root 1195 2001-10-18 19:59:23 var/www/search.html > > I suspect this is more user error than anything, but I'm not sure what I'm > doing wrong. I've tried rewinding the tape as well as doing a "mt -f > /dev/st0 asf" 1 to position the tape at the beginning, but I still get the > same output when I tar tvf. Any help is appreciated. YOU ARE USING A REWINDING TAPE DEVICE. YOU ARE CREATING ONLY ONE TAR ARCHIVE, OVERWRITING THE PRIOR ARCHIVE EACH TIME YOU CREATE A NEW ONE. YOU ARE ***NOT*** ARCHIVING YOUR SYSTEM AS YOU EXPECTED. Replace /dev/st0 with /dev/nst0. $ man st ...for more info, search "FILES". The scripts I use save multiple tar archives to tape. One necessary element is to use a nonrewinding tape device. /dev/st0 *REWINDS THE TAPE AFTER EACH FILE OPERATION*. The verification routines in my script, if you look at them, run as: for path in $backupdirs do eval echo "Verifying $path...." $WALLMSG tar tf /dev/nst0 1>/dev/null && \ eval echo "$path: verified" $WALMSG || \ eval echo "$path: errors in verify" $WALMSG ...all this does is verify that the format of the tarfile is intact. It doesn't validate the data against disk. What you're doing with your rewinding device is: for list of archive directories: create archive rewind to start of tape rewind to start of tape for list of archive directories: verify that tarfile *is* a tarfile rewind to start of tape You're verifying the same tarfile ten times. Unfortunately, it's the only tarfile on the tape. Use /dev/nst0 instead. To verify the archives on your tape, using a NONREWINDING DEVICE, you'd do: mt rewind tar tf /dev/nst0 mt fsf 1 tar tf /dev/nst0 ... ...until you reached the last file. I'd discarded the output in my verify above as it tends to make the job log rather verbose. I may need to fix that somehow. Peace. -- Karsten M. Self <kmself@ix.netcom.com> http://kmself.home.netcom.com/ What part of "Gestalt" don't you understand? Home of the brave http://gestalt-system.sourceforge.net/ Land of the free Free Dmitry! Boycott Adobe! Repeal the DMCA! http://www.freesklyarov.org Geek for Hire http://kmself.home.netcom.com/resume.html
Attachment:
pgpCeoINzv3X2.pgp
Description: PGP signature