How do I automate the construction of DVD images for archival of data files?

Posted on 2007-03-29
Last Modified: 2010-03-17
I have a small PHP script which gathers data from various sources on our network - Faxes sent/received, scans from ultrasonic systems, archived PDF files, etc.

The "gathering" scripts run 24 hours a day. All files are renamed to include a datetime stamp and are organized into folders like



xxxx is the type of archive (Faxes Sent, Faxes Received, Ultrasonic Scans, etc).
yyyy is the original file name (some of the systems make random names and as the file is moved to the archive, the name is "available" again, hence the renaming procedure during the archiving process).
zzz is the original file type.

What I would like to do is to be able to examine each of the xxxx folders and build an DVD5 image so that it can be burnt to a DVD. For each xxxx folder, the complete day must fit onto the DVD. If day 25 is too big, then day 25 is not included and upto day 24 is. As each image is created, a log file is also created. The log files is be numbered for each disk for that xxxx folder. All the log files need to be included on the DVD (and thats the killer as we don't know what goes onto the DVD until after the DVD image is prepared).

As each image is created, the original files can be removed.

The image will be saved as


I am looking for command line controlled utils for windows (GUI is OK as long as the command line parameters have 100% UNATTENDED operation).

I'm currently doing this by hand each month and need to produce around 5 DVDs x 2 copies.

As the files are not compressed (they need to be accessible just like data files on any DVD), the creation of an DVD image shouldn't be that difficult without complicated - I could use PHP for this as there is no need for a high speed, interactive "experience" for this - just a scheduled task running once or twice a month to same me a couple of hours. I know that I will have over 20 different source of information which needs archiving in this fashion. I just want to shove a blank DVD into the machine when it sticks out the drinks holder.

Labelling will be done by hand - I think I can manage that bit easily enough.

So. A fairly big question. I've sent an email to Nero (as that is what I'm currently using), but I've not had a response yet.

Oh. I'm on Windows XP SP2, so no *ix tools. I don't have a C compiler, but I can convert simple C to PHP easily enough (I'm expecting nothing more than simple file i/o handling - no compression, complex data analysis, cryptography, etc., just read this file, update that structure, maybe a checksum calc, add file data to image, next file, sort of thing - not rocket science).

Any suggestions, etc would be greatly appreciated.


Richard Quadling.
Question by:RQuadling
  • 3

Accepted Solution

_iskywalker_ earned 500 total points
ID: 18814640
My sugestion are:
1) you learn visual basic, and program this, bad thing is you must learn VB and how to get the informations you need.
2) you install cygwin, there you can use some nice *nix commands like:
du -hc for getting the amount of bytes used in your folder
mkisofs for making iso files for burning.
cdrecorder (maybe this do not work, since it very linux dependent, but you can execute a command so nero burn a image or so, it depends on your burner software)
3) you install cygwin with perl, perl can use the linux commands and can be more easily programed then bash and you can still use du and mkisofs. Then you can test with du or ls how many files you can put into the iso-file, and make that iso. you could also zip or bzip2 the files so it would fit into the dvd.
LVL 40

Author Comment

ID: 18815237
I actually use Cygwin for PHP's documentation. Hadn't thought of that. I can probably do everything I need using Cygwin and launch it via PHP.

Good idea. Part of this is knowing what the programs are in Cywgin.

I've just downloaded smake and cdrtools sources. This will be the first thing I've ever compiled in Cygwin! Fingers crossed.

Does cdrecord and mkisofs deal with DVD?
LVL 40

Author Comment

ID: 18816490
I managed to create an ISO file and it loaded into VirtualCloneDrive and I can access all the files (physically different computer). So, this is good.

My next question is how big is a single layer DVD in terms that mkisofs understands?

I see I get a value from the mkisofs, but I've no idea what this means in terms of filling a DVD.
LVL 40

Author Comment

ID: 19029849
Thank you for your pointers on this. I'm not progressing with this as I have other work to do. The work I've done is promising though.


Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Sometimes drives fill up and we don't know why.  If you don't understand the best way to use the tools available, you may end up being stumped as to why your drive says it's not full when you have no space left!  Here's how you can find out...
In this article, I will show you HOW TO: Perform a Physical to Virtual (P2V) Conversion the easy way from a computer backup (image).
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …
This tutorial will walk an individual through the steps necessary to install and configure the Windows Server Backup Utility. Directly connect an external storage device such as a USB drive, or CD\DVD burner: If the device is a USB drive, ensure i…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now