Over the years I have had the need for a robotic DVD burner. A device I can load a stack of DVD into and unleash. Hours later, I have a neat stack of burned disks. Luckily for me, I had access to one at work. With the right permissions I was able to bring it home and use it. I burned several 50-100 runs of DVDs for various school functions and for the FIRST LEGO League movies I had made.
Then came the horrible day when a power supply in my work horse PC failed catastrophically. If spewed high voltage out the 5, 3.3, and 12 volt lines destroying everything except an 3 1/4 inch floppy drive. Included in the mayhem was my system drive, my data drive and my backup drive.
So let me pause by explaining my backup methodology. The system drive I do not backup as I can rebuild it fairly quickly from source disks I keep in a box for each computer. The data drive on the other hand includes documents and pictures and other files I can’t recreate. So these files get copied from one drive to another every night using a great tool called Handy Backup. Since the second drive powers itself down most of the time, its life should be much longer than the data drive. If my data drive fails, I have a copy (as of the previous day) of all my files.
Works great until you have an event that destroys both drives (and the mother board, CPU, fans, DVD drive, …) leaving you crying over your stupidity.
My first solution was to have the backup drive now be a USB device powered from the current limited interface. Still not ideal, but would see me through to the next phase.
Around this time I was playing with an older computer I had and converted it to a Linux box. I started to run Samba to allow other computers to see its hard disks as external mappable drives. I installed a second data drive and did the nightly backup this time with rdiff-backup that had further advantages over Handy Backup.
In this new scenario, I re worked all my other computers to dump data onto the file server. Email databases, document storage, pictures, all got transferred to the Linux file server. But now I had the same problem of multiple disks exposed inside the same case. A power supply failure could set me back again. So what is one to do?
My solution was to burn all the data from the data drive to a series of DVDs. Every time enough files changed or were added, I would burn the new data to another disk. But doing this manual was a lost cause. With a busy life, who has the time? Enter the robot.
After some searching on the web I found others who had taken the robotic approach. I looked into off the self products and found them to be either too expensive, or limiting in various ways. I then started to prototype my very own design and had gotten to the point of a pick and place robot controlled by an Arduino, but the finickiness of the design left much to be desired.
Plan-B: Monitor eBay and score a used Primera Composer.
Primera makes a line of duplicators. These tie to Window boxes for the express purpose of making duplicates. This was the device I borrowed from work. They come in various styles (CD, DVD, multiple drives, printer, ..). I only wanted the robot part as I would strip the unit of its over the hill DVD drives and replace the Firewire interface with USB2.0.
As is normal, I watched ebay sales of these units for a few weeks to get an idea of the prices. I then started bidding waiting to the last second to place my bids. After the 3 or fourth attempt I won a single drive DVD (x1!) unit missing the power supply, and the in and outfeed bins. Power supply was easy to find a replacement on line. The bins I had to hand craft from plywood and dowels.
Next I cleaned the whole device and connected it to a PC and installed their software. Using a serial port sniffer (FTE Serial Analyzer) I was able to reverse engineer the interface. Next I connected it to my Linux box and started writing the control software. In a week or two I had the ability to drive the robot from position to position, and pick and place disks.
Now I had to write the software to find the changed files, group them into discs, and burn them using the robot. This took a significant amount of time having little experience with burning disks from the command line. I also had to manage the files with a database and had to learn Sqlite (a great thing to have learned). After weeks of debugging in spare time, I have a functioning system.
As part of my nightly cron job, the software looks for all the new files and adds them to a SQL table of files to burn. It then makes a list of what will fit on a disk and if enough data has changed will call the robot to pick and place a disk to burn. Sometimes I can hear the robot kick in at two in the morning if I am having a bad night sleep.
And now for the last stage of my backup strategy; I mail the disks to my mother who lives out of state. Now even if my home were to burn down, I would have a full backup.
Now some may ask why I do not use an online service for my backups. The reasons are:
- I am a geek
- I have a terrabyte of data (mostly photos) to backup. You have to pay for that kind of service
- Can I trust them to not peek at my files? I have financial and other data I do not want to share with the “cloud”