diff --git a/changelog b/changelog
index aeae385520275d8394c779bf321e4e11389d6478..8f408e98fb8784ac44f56fe77d64e628e067a391 100644
--- a/changelog
+++ b/changelog
@@ -2,6 +2,7 @@ version 0.7 -- July 3 2005
 	added ninjahelper: a dialog based wizard for creating backupninja configs.
 	considerably improved and changed the log file output.
 	you can now disable actions with .disabled (this is new preferred method).
+	added makecd handler and example.makecd for backing up to cd/dvd
 
 version 0.6 -- June 16 2005
 	ldap handler has new options: backup method to use (ldapsearch or
diff --git a/etc/backup.d/example.makecd b/etc/backup.d/example.makecd
new file mode 100644
index 0000000000000000000000000000000000000000..b01094e462006278b09e84faf4fb81b78891c344
--- /dev/null
+++ b/etc/backup.d/example.makecd
@@ -0,0 +1,31 @@
+
+# TYP is cd or dvd AS WELL AS the disk inside!!
+burnertype = cd
+
+# system (yes) or directory/files (no)
+# this function not yet implemented
+#system = yes
+
+# location for image file
+backupdir = /var/backups/makecd
+
+# image filename
+imagefile = example.iso
+
+# iso or burn to cd/dvd?
+isoonly = no
+
+# cd/dvd burner device
+device=/dev/hdc
+
+# base directory to include in the backup
+target = /
+
+# files or directories to be excluded
+exclude = /proc
+exclude = /lost+found
+exclude = /tmp
+
+# backupninja will perfrom this at gvien date/time
+when = wednesday at 02:00
+
diff --git a/handlers/makecd b/handlers/makecd
new file mode 100644
index 0000000000000000000000000000000000000000..81c957d8146118698c9cddbedcd6769ad1691093
--- /dev/null
+++ b/handlers/makecd
@@ -0,0 +1,86 @@
+#
+# burncd handler script for backupninja
+#
+getconf backupdir /var/backups/makecd
+getconf exclude
+getconf target
+getconf burnertype cd
+getconf system no
+getconf isoonly yes
+getconf imagefile backup.iso
+getconf device
+
+# define needed executables:
+MKISOFS="/usr/bin/mkisofs"
+GROWISOFS="/usr/bin/growisofs"
+#CDRECORD="/usr/bin/cdrecord"
+CDRECORD="/usr/bin/cdrecord.mmap"
+CDRDAO="/usr/bin/cdrdao"
+DVDINFO="/usr/bin/dvd+rw-mediainfo"
+
+# create backup dirs and check existence of progs.
+
+[ -d $backupdir ] || mkdir -p $backupdir
+[ -d $backupdir ] || fatal "Backup directory '$backupdir'"
+[ -e "$target" ]  || fatal "target does not exist "
+
+[ -x "$MKISOFS" ]   || debug 3 "echo executable mkisofs not present"
+[ -x "$GROWISOFS" ] || debug 3 "echo executable growisofs not present"
+[ -x "$CDRECORD" ]  || debug 3 "echo executable cdrecord not present"
+[ -x "$CDRDAO" ]    || debug 3 "echo executable cdrdao not present"
+
+if [ "$isoonly" == "no" ]; then
+	[ -e $device ] || fatal "No Burner device available"
+fi
+
+outputfile="$backupdir/$imagefile"
+execstr="$MKISOFS --quiet -R -o $outputfile "
+
+str=""
+# excludes
+for i in $exclude; do
+	str=" -x ${i}$str"
+done
+
+debug 0 "echo $str "
+execstr="${execstr} $str $target "
+debug 0 "echo $execstr "
+
+output=` $execstr 2>&1 `
+code=$?
+if [ "$code" == "0" ]; then
+	debug $output
+	info "Successfully finished creation of iso"
+else
+	warning $output
+	warning "Failed to create iso"
+fi
+
+if [ "$isoonly" == "no" ]; then
+
+	if [ "$burnertype" == "cd" ]; then 
+		# burning iso to CD
+		$CDRECORD -v gracetime=2 dev=$device speed=8 -dao -data $outputfile 
+		code=$?
+		if [ "$code" == "0" ]; then
+			debug $output
+			info "Successfully burned CD"
+		else
+			warning $output
+			warning "Failed to create CD"
+		fi
+	fi
+	if [ "$burnertype" == "dvd" ]; then 
+		# burning iso dvd
+		$GROWISOFS -speed=2 -Z $device=$outputfile -use-the-force-luke=notray -use-the-force-luke=tty
+		code=$?
+		if [ "$code" == "0" ]; then
+			debug $output
+			info "Successfully burned DVD"
+		else
+			warning $output
+			warning "Failed to create DVD"
+		fi
+	fi
+fi
+return 0