Maybe you would be interested in making an iso image, then use this script to burn the iso image using multiple devices.
Use the command:
cdrecord --scanbus to see what the available recording devices are.
Then add them to the burn statement. For example... "0,0,0" "0,1,0" "0,2,0"
If you have an older OS, you may need to add a line to the grub.conf for cdrom devices... hdc=ide-scsi hdd=ide-scsi
It will eject and prompt for the next blank cdrom to be loaded.
Make the script executable and run....
./cdburn /home/myfile.iso "0,0,0" "0,1,0"
Press Ctrl-C to stop the script
Code:
Edit: If you have a newer OS, you may need to change this line in the script....
cdrecord --eject dev="$1" --data "$ISOFILE" &> /dev/null
to this...
cdrecord --eject dev=ATA:"$1" --data "$ISOFILE" &> /dev/null
Code:
#!/bin/bash
#Copyright David Stark 2004
#Program to initiate cdrecord on multiple devices, recording on successive
#blanks until SIGINT (Ctrl-C) is received.
#Version 0.3.1
#User help
if [ $# == 0 ] || [ $1 == "-h" ] || [ $1 == "--help" ]
then
echo "This program starts cdrecord to burn one image file to multiple devices,"
echo "ejecting the cd when recording has finished. When a blank CD is inserted"
echo "into any of the specified drives, recording of the image begins again."
echo ""
echo "Usage: $0 image devicelist"
echo ""
echo "'image' is the name of the image to be burned."
echo "'devicelist' must be a list of devices which cdrecord understands -"
echo " see 'man cdrecord' for details."
echo ""
echo "Do Ctrl-C to terminate when recording is finished."
exit 0
fi
#Argument sanity check
if [ $# -lt 2 ]
then
echo "Not enough arguments. See '$0 -h' for help."
exit 1
fi
if ! [ -e $1 ]
then
echo "$1 does not exist. Exiting."
exit 1
fi
ISOFILE=$1
#Function launced for each drive. Launches with new PID.
burndrive()
{
echo "Please insert a blank CD into $1 to begin."
while true
do
sleep 2
STATUS=`cdrecord -V --inq dev="$1" 2>&1`
echo $STATUS | grep "medium not present" &> /dev/null
if [ $? != 0 ]
then
echo "CD loaded on $1. Continuing."
cdrecord --eject dev="$1" --data "$ISOFILE" &> /dev/null
RESULT=$?
case $RESULT in
0) #Burn completed
echo "Burning completed successfully on drive $1."
echo "Insert a blank disc to continue on $1.";;
254) #Non-blank disc
echo "Disc in $1 is not blank."
echo "Please insert a blank disc in $1.";;
*) #
echo "Unknown error on $1. Error num: $RESULT"
echo "Please email davidstark (at) myrealbox.com";;
esac
fi
done
}
for go in "$@"
do
if [ "$go" != "$1" ]
then
burndrive "$go" &
PIDLIST="$PIDLIST $!" #Collect subshell PIDs
fi
done
#Kill subshells, then exit
trap "kill -9 $PIDLIST; exit 0" SIGINT
#This sleep loop is just to retain control of the console -
#for message output, and to catch Ctrl-C
while true
do
sleep 1000
done