Merge branch 'master' of home:dvl/backup
authorCarl N Baldwin <cnb@hpsvcnb.fc.hp.com>
Thu, 27 Oct 2005 18:44:49 +0000 (12:44 -0600)
committerCarl N Baldwin <cnb@hpsvcnb.fc.hp.com>
Thu, 27 Oct 2005 18:44:49 +0000 (12:44 -0600)
1  2 
scripts/drive.sh

diff --combined scripts/drive.sh
index 2b758b183045dfbd7aa10dd04ce4664b44126976,7d0420dcf3651334fb0d5158dddf367c83bd7071..367016c57c56c00df1d94b6d09c9d1b905530175
@@@ -6,15 -6,15 +6,16 @@@ export PATH=$scriptsdir:$PAT
  
  # file locations and other values
  today=$(date +%Y%m%d%H%M%S)
+ mailto='carl@ecbaldwin.net'
  datadir="/var/lib/backups"
 +backupdirs="/home /etc /var/backups /var/lib/debfoster /var/lib/mailman /var/lib/iptables /var/lib/dpkg"
  tmpdir="/dev/shm/backups"
  currentfiles="$tmpdir/files.db"
  backupdb="$datadir/backups.db"
  backups="$tmpdir/backup-list.db"
  statusfile="$tmpdir/backup-status.txt"
  isomountdir="/backup/iso-mount"
- isoimage="/backup/ISOs/$today.iso"
+ isoimage="/backup/ISOs/$today.img"
  restorescript="$scriptsdir/restore.sh"
  
  echo "Creating the iso image in $isoimage"
@@@ -22,7 -22,7 +23,7 @@@ touch $isoimag
  # chmod 600 $isoimage
  
  # Create filesystem on iso image here
 -dd if=/dev/null of=$isoimage bs=2048k count=0 seek=2220
 +dd if=/dev/null of=$isoimage bs=1M count=0 seek=4440
  mke2fs -b 2048 -F $isoimage
  
  echo "Mounting the iso image"
@@@ -38,7 -38,7 +39,7 @@@ echo "Running find to get the status o
  {
    for type in d f l; do
      findformat="$type %#m %u %g %s %CY%Cm%Cd%CH%CM%CS 0 %p\0"
 -    find /home -type $type -printf "$findformat"
 +    find $backupdirs -type $type -printf "$findformat"
    done
  } > $currentfiles
  
@@@ -56,14 -56,25 +57,25 @@@ cat $backups | rsync $rsyncopts / $isom
  echo "Copying over database and status file"
  cp $statusfile $backupdb $restorescript $isomountdir
  
- mount -o remount -o ro $isomountdir
- # Should be
- # umount $isomountdir
+ echo "Unmounting image"
+ umount $isomountdir
  
- md5sum $isoimage > $isoimage.md5sum
+ echo "Calculating md5sum for image"
+ md5sum $isoimage | awk '{print$1}' > $isoimage.md5sum
  
  # Burn the iso image
- # dvdrecord [-dummy] [-overburn] -dao speed=8 dev=[ATAPI:]?,?,? iso-image.iso
+ echo "Burn the image to a DVD"
+ if cdrecord-wrapper.sh -dao speed=8 dev=ATA:1,0,0 $isoimage; then
+   md5sum_file=$(tempfile)
+   dd if=/dev/hdc bs=2048k count=2220 | md5sum | awk '{print$1}' > $md5sum_file
+   if ! cmp $md5sum_file $isoimage.md5sum; then
+     echo "Failed" | mailx -s "DVD md5sum doesn't match image file!!!" $mailto
+     exit 1
+   fi
+ else
+   echo "Failed" | mailx -s "DVD burning failed!!!" $mailto
+   exit 1
+ fi
  
  # Email me
- cat $statusfile | mailx -s "DVD Image available on ball, burn it!" carl@ecbaldwin.net
+ cat $statusfile | mailx -s "DVD burned.  File it as $today" $mailto