Darian Anthony Patrick on 12 Mar 2005 22:39:43 -0000 |
This is awesome. Thanks alot, Sandy! On Sat, 2005-03-12 at 10:39 -0500, sandy wrote: > sometime ago there was an e-mail discussion about cd backups. > I have worked on making cd backups for our new machine for the business. > I am enclosing an e-mail that I sent to the the person that wrote > the CD-WRITTING_HOWTO. > > I would like to thank you for CD-Writing-HOWTO. > It is a very useful document and was greatly appreciated. > > There is, however one flaw in the write up that I would like > to see changed so others will not struggle as I have. I spent > a long time trying to get bru and afio do effective CD backups > > At the end of your excellent CD-Writing-HOWTO in section 4.27 you state > > "4.27 What will cdrecord do when it stops getting input from the > pipe?" > > This statement should be removed. > One cannot pipe to cdrecord and make a working backup. > > It does not work for bru or afio. It cannot retrieve the > tail files in the backup because of the linux read ahead feature. > To backup to a CD ROM, one must first form the whole backup > under /tmp or some other temporary area. > Now check to make sure that the file will fit on the CD (an > added bonus) > Then do mkisofs and cdrecord > > Next following the advice given by > Mr Steve Litt in "Coasterless CD Burning" > presented by Troubleshooters.com and T.C Linux Library > One must md5sum the archive formed by cdrecord in memory > md5sum /tmp/cd_image > and md5sum the /CD R or CD RW archive. > md5sum /cdrom/afio.arch > > I have had cdrecord state that the CDR was successfully written. > I then > md5sum /cdrom/afio.arch. md5sum reported multiple I/O > failures reading the archive. > The CD write had failed. The afio archive was on a CDRW disk. > I blanked the disk and reran my script. The second time was successful. > > > Enclosed are 3 scripts that I wrote to do the backup. > > #1) file daily .. the master script > > #!/bin/sh > date > /tmp/start_time > > # cd_file_find reads a file containing all of the desired > # directories ,one directory per line. > > # cd_file_find forms a file,/tmp/cd_files, containing all the files to > # back up. > > /home/vm/cd/cd_file_find /home/vm/cd/daily_directories > # cdrom_backup forms the afio file,/tmp/afio.arch, and records to CDR > > /home/vm/cd/cdrom_backup > > echo "end " `date` > echo -n "start " > cat /tmp/start_time > > #2)cd_file_find file listing directories desired: one directory /line > > #!/bin/sh > # program used to produce a list of files in all directories > # listed in the file $1 > if [ $# -eq 0 ] > then > echo " need a file of directories" > exit 1 > > fi > > rm /tmp/cd_files > for i in `cat $1` > do > find $i >>/tmp/cd_files > done > > #3 cdrom_backup > #!/bin/sh > # cdrom_backup ............takes the files stored in /tmp/cd_files > # ............ forms an afio archive.... > # checks that the afio operation was successful > # checks that the afio archive is < 650m bytes > # ........ writes the afio archive to a cdrom image,/tmp/cd_image > # .......... cdrecords the file and checks the md5sum > > > # backup log is in /home/cd_backup_log... the last log is appended to the > # file > > cat /tmp/cd_files | afio -o -T 3k -L /home/backup/cd_backup_log -Z -P bzip2 \ > /tmp/afio.arch > > #check that afio was successful > tail -1 /home/backup/cd_backup_log | grep successful > es=$? > #echo "$es" es > if [ $? -ne 0 ] > then > echo "afio failed" > exit 1 > fi > > # check that the afio archive will fit on the CD > tail -2 /home/backup/cd_backup_log | grep afio >/tmp/checks > cut -d" " -f4 /tmp/checks | cut -d"m" -f1 | cat >/tmp/checks > declare -i a > read a </tmp/checks > echo "$a" backup size > > if [ $a -gt 650 ] > then > echo backup files are to big at "$a" > echo backup files are to big at "$a" >>/home/backup/cd_backup_log > > exit 1 > fi > > mkisofs -r -o /tmp/cd_image /tmp/afio.arch > > cdrecord dev=1,0,0 speed=5 -v -pad /tmp/cd_image > > md5sum /tmp/afio.arch | cut -d" " -f1 >/tmp/atmp > c=`cat /tmp/atmp` > echo "$c" > mount /cdrom > md5sum /cdrom/afio.arch | cut -d" " -f1 >/tmp/atmp1 > b=`cat /tmp/atmp1` > umount /cdrom > echo "$b" > if [ "$c" != "$b" ] > then > echo " bad cdrom write" > echo " bad cdrom write" >>/home/backup/cd_backup_log > exit 1 > else > echo " successful cdrom write" > echo " successful cdrom write" >>/home/backup/cd_backup_log > fi > > date > exit 0 > > > ########## > again, thank you for taking the time to write CD-Writing-HOWTO. > truly, > sandy basickes s_basic@verizon.net > > ___________________________________________________________________________ > Philadelphia Linux Users Group -- http://www.phillylinux.org > Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce > General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug -- Darian Anthony Patrick Network and Systems Integration Consultant dapatrick@darianpatrick.com http://www.darianpatrick.com -- GPG Fingerprint: BCF1 E7AD 15AD 8A99 F613 AF5F 2A9C C45C F580 E087 About OpenPGP: http://www.openpgp.org/about_openpgp/ ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|