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

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.
LVL 40
Richard QuadlingSenior Software DeveloperAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Richard QuadlingSenior Software DeveloperAuthor Commented:
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?
Richard QuadlingSenior Software DeveloperAuthor Commented:
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.
Richard QuadlingSenior Software DeveloperAuthor Commented:
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.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Storage Software

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.