Cdcopy

Bash script to automate copying data from CDs?.

Detects media insertion (via HAL, using polling *blegh*)

#!/bin/bash  
# cdcopy.sh: copy a data CD to disk  
#  mark AT cognomen DOT co DOT uk  
  
CDROM=$1     # CD-ROM device  
MNTPNT=$2    # CD-ROM mount point  
OF=/data/         # output directory  
  
eject $CDROM  
UDI=`hal-find-by-property --key block.device --string $CDROM | tail -n1`  
  
while ((1)) ; do  
        if [ `hal-get-property --udi $UDI --key storage.removable.media_available` == 'true' ]  
        then  
                mount $CDROM  
                if ((! $?))  
                then  
                        echo; echo "Copying the source CD to $OF."  
                        cp -av $MNTPNT/* $OF || echo Copy failed  
  
                else  
                        echo; echo "Failed to mount CD. Ejecting"  
                fi  
                eject $CDROM  
        fi  
        sleep 3  
done

Download

cdcopy.sh