DVDBackupExpress is a script to automate the process of backing up an entire DVD-Video disc (minus the data content that may be on there). The script will convert the DVD into a *.iso file.
Requirements:
- dvdbackup
- Linux
- libdvdcss
- mkisofs
Code:
#!/bin/bash DEVICEPATH="/dev/sr0" BACKUPPATH="${HOME}/Desktop" TMP="${TMPDIR}" LOG="${HOME}/.DVDBackupExpress.log" ##Write Date & Time to Log File echo "-------------------------------------" > "${LOG}" echo "`date +%B %d, %Y`" >> "${LOG}" echo "-------------------------------------" >> "${LOG}" echo "DVDBackupExpress" echo "Scripted by Blake Johnson" echo "http://www.blakeanthonyjohnson.com/" echo echo -n "Getting DVD Information... " label=`dvdbackup -I -i "${DEVICEPATH}" | grep DVD-Video` >> "${LOG}" 2>&1 if [ $? == 0 ] then echo -n -e "33[1;32mOK!" echo -e "33[0m" label=${label:43} else echo -n -e "33[1;31mFailed!" echo -e "33[0m" ##echo "Unable to get DVD information." echo "Press any key to exit." read exit fi echo "The title detected was: "${label}"" echo echo "If you would like to change the title of your DVD image, please do so now. Otherwise, leave it blank." echo -n "New Title: " read title if [ -z $title ] then title=${label} fi echo echo "The DVD image will be labeled "${title}.iso" and will be placed in "${BACKUPPATH}/"." echo echo "Press any key to continue, or get out and try again." echo "If you continue, the next two steps may take a while to complete, which is normal." read echo echo -n "Decrypting DVD-Video to "${TMP}/${label}/"... " dvdbackup -M -v 9 -i "${DEVICEPATH}" -o "${TMP}" >> "${LOG}" 2>&1 if [ $? == 0 ] then echo -e -n "33[1;32mOK!" echo -e "33[0m" else echo -e -n "33[1;31mFailed!" echo -e "33[0m" ##echo "An error occured while decrypting." echo "Press any key to exit." read exit fi echo -n "Creating DVD image from "${TMP}/${label}/"... " mkisofs -dvd-video -V "${label}" -o "${BACKUPPATH}/${title}.iso" "${TMP}/${label}/" >> "${LOG}" 2>&1 if [ $? == 0 ] then echo -n -e "33[1;32mOK!" echo -e "33[0m" else echo -n -e "33[1;31mFailed!" echo -e "33[0m" ##echo "An error occured while creating a DVD image." echo "Press any key to exit." read exit fi echo -n "Removing temporary files from "${TMP}/${label}/"... " rm -R "${TMP}/${label}/" >> "${LOG}" 2>&1 if [ $? == 0 ] then echo -n -e "33[1;32mOK!" echo -e "33[0m" else echo -n -e "33[1;31mFailed!" echo -e "33[0m" ##echo "An error occured while removing temporary files." echo "Press any key to exit." read exit fi echo echo "All Finished." read rm "${LOG}" exit 0