The Birth of Webacula

Yuri Timofeev has taken advantage of one of the key strengths of open source software – he took one application and made it better. In his case, the original application was the enterprise backup package Bacula. His improvement was to write a web interface – and so was born Webacula.

In his job as a system administrator, Timofeev is responsible for, among other things, backup. A few years ago he put a number of backup applications to the test, and chose Bacula for his own network. The open source software allows you to back up and restore Unix, Linux, and Windows servers and workstations. In everyday use on a CentOS 5 backup server on his network, Timofeev says Bacula is reliable and stable.

In late 2006 Timofeev began to write a web interface for Bacula for his own site, to implement the functions that he as an administrator used most often. The following July he moved it to when he realized it might be useful to others.

Webacula lets you view important backup information and run backup and restore jobs. Recent releases have added support for MySQL, PostgreSQL, and SQLite databases, new functions for running restore jobs, and an improved design based on JQuery. “I also got rid of many annoying bugs,” Timofeev says. “I want to thank all the people who helped by writing bug reports, translating, and sending patches. I credited them in the AUTHORS file.”

However, Timofeev says there’s a lot of room for enhancements. In future releases he plans to expand the functionality. Right now he’s working on revising the internal structure and code. For example, earlier versions of Zend Framework did not have Zend_Layout; now that it’s available, he wants to use it to provide things like customizable skins.

Timofeev chose Zend Framework as his development tool when it was still early in development. He says he is not a professional programmer, and he doesn’t like the old school of programming in PHP. Authentication in Webacula implemented on the basis of the standard for Apache (AuthType Basic), which is described in detail in the project’s INSTALL file. “For many admins that should be enough,” he says.

Timofeev says he doesn’t work on the project continuously, but goes back to it as time permits. At that rate he expects to make releases at least once a year. However, “I would not mind if there were more contributors. Write bug reports, attach a patch. Or send me an email, or a message in the bacula-users mailing list. Or make a fork with Git. I describe how people can help in the file 4CONTRIBUTORS in source distribution.”

As a part-time developer, Timofeev is proud to have crafted one small feature that’s not in Bacula. Logbook is a simple electronic journal of backups or other notes. You can use it to keep records, for example, about jobs, equipment failures, and unusual situations. “For example, I write in the logbook a description of the backup – ‘JobId = 12345 – is the X information for the Y business period’ – or describe any faults. A backup operator can manually insert, modify, and delete records in the logbook. Records can contain clickable links to Bacula jobs or to other records in the logbook.”

Tweet of the day: coburn64: SourceForge, you’re really getting on my nerves with your gay mirror system. Just hate your mirror system. Argh.

(No, these aren’t generated automatically. I have to pore over recent tweets and find the best ones. It’s a dirty job.)


Comments are closed.