Link
Found in an old drive archive, this script would get cron’d and rip to CD every day. I’m sure there’s more elegant solutions, but this did the job well.
#!/bin/sh
# NAME: sys_backup.sh
#
# DESCRIPTION: A cool backup script that burns the system files to a CDRW
# This script originally runs on RH9 with a 40x CDRW drive.
# Requires a CDRW media in drive at all times (min 4x RW)
#
# ORIGINAL AUTHOR: Kris Resellmo
#
# MODIFIED: $Date: 2003/10/09 00:52:58 $
# $Author: dennis $
# $Revision: 1.1 $
# General script vars
NOWDATE=`date "+%Y-%m-%d_%H%M"`
ISONAME=peerview.iso
# Directories to back up
DB_ARCHIVE_DIR=/bu/database_backup
REPOSITORY_DIR=/bu/repository_backup
# Location of backups
BACKUPDIR=/cdrw_temp/data
BACKUPTEMPDIR=/cdrw_temp
# TAR arguments
TARARGS="cf -"
#####
# Script start
echo "$NOWDATE System backup script started."
# Remove previous backup files
echo "Cleaning up previous backup gzipped files..."
rm -f $BACKUPDIR/*.gz
#rm -f $BACKUPTEMPDIR/$ISONAME
echo "Cleanup done."
# Archive files
echo "Now tar gzipping $DB_ARCHIVE_DIR"
tar $TARARGS $DB_ARCHIVE_DIR | gzip > $BACKUPDIR/db_$NOWDATE.tar.gz
echo "Now tar gzipping $RESPOSITORY_DIR"
NOWDATE=`date "+%Y-%m-%d_%H%M"`
tar $TARARGS $REPOSITORY_DIR | gzip > $BACKUPDIR/cvs_$NOWDATE.tar.gz
# make ISO
# delete old ISO if it exists
if [ -f "$BACKUPTEMPDIR/$ISONAME" ]
then
echo "Deleting previous backup ISO file at $BACKUPTEMPDIR"
rm -f $BACKUPTEMPDIR/$ISONAME
fi
echo "Creating new ISO image..."
mkisofs -r $BACKUPDIR > $BACKUPTEMPDIR/$ISONAME
# burn cd and blank old disc
echo "Now burning CD image to media..."
cdrecord speed=4 dev=0,0,0 blank=fast -multi -data $BACKUPTEMPDIR/$ISONAME
# Finish up
echo "Finished backup of system at `date "+%Y-%m-%d_%H%M"`"