The main reason AnyBackup was made is that I have a 13tb Greyhole share and I was periodically attempting to back this data up to seven drives I had sitting around. I kept these back ups outside of Greyhole because I wanted the flexibility of having the drives in a Windows friendly format that I could use easily at friends' or family's houses
This manual process quickly became untenable and was prone to human error. I began an extensive search for a program that could backup a large drive to several smaller drives. A few such pieces of software exist, but they were more about creating a single large file that would span several hard disks. None of which was particularly useful for my needs. I decided this would be a fun challenge to solve in my free time and hopefully build something useful in the process.
One of the key features I wanted was the ability to recognize drives beyond something so simplistic as drive letters. (It uses volume names + serial numbers.) I also wanted the program to give users flexibility in drive connectivity. My backup setup is very basic. I have a usb dock, and I have a stack of hard drives. I only hook up one backup drive at a time, and I wanted a program that would cater to this. AnyBackup splits file operations up by drive and asks users to connect a drive just once to finish the operations.
My low-tech backup solution.
Somewhere in the bowels of my blog there's a link (who knows if it's still valid) to the first beta of AnyBackup. It was written in Perl. Why Perl, you ask? (Probably more like 'Why Perl??!!!') The main reason is that I had some basic backup scripts I'd started writing that were in Perl because Perl is, if nothing else, a handy scripting language. I figured I'd build off those for my backup program. It worked well enough, but it quickly became obvious that a more object oriented language would help, so I rewrote AnyBackup in Python ( there's a beta 2 download in the blog somewhere after the big rewrite ). Shortly after beta 2 I setup this code repository and I've been adding various tweaks and features ever since.
AnyBackup has evolved as over time. It's gone from one language to another and even from one back end to another. It originally used serialized objects to persist drive information, but I recently replaced this with sqlite for speed, efficiency, and flexibility.
I'm actually very happy with AnyBackup 1.0.8 from a stability, speed, and functionality perspective. Are there things that could be better? Sure. (I'm looking at you, paginated result panel.) But by and large things work, and work well. My files back up reliably, AnyBackup intelligently sorts the files and prompts me to connect drives as needed. Visually the icons and flow are fairly consistent.
Over the lifetime of the project (~3 years) I've received only one email about the project and have had two bugs reported by people other than myself. So outside of my needs and that of family members that use it, I have no idea what would be useful to the community, so don't be afraid to file an issue for an enhancement. If I see an idea I like I'll try to find time to implement it. If you would like to get involved in the project I'm fine with that too!