Backup Suite
PROJECT TITLE
Synecdoche
SYNOPSIS
A backup job framework and status aggregator for Windows. Targeted for use by consultants and administrators that need to keep tabs on multiple jobs across multiple networks easily.
BENEFITS
- Provides consultants a framework to use for tailoring backup systems.
- Provide an aggregated view of multiple backup jobs.
- Provide a simple frontend for non-technical users to evaluate the status of their backup jobs.
DELIVERABLES
- Standalone windows installer
- Backup job controller service
- Backup job monitor service
- Backup plugin API documentation
- Backup plugin using RoboCopy
PROJECT DESCRIPTION
The keys to a useful backup are:
- Data transfer
- Data verification
- Clear status and detail reporting
Most backup utilities have some, but not all of these key features. Rsync is a wonderful program that does an excelent job with data transfer, but trying to grok the transfer log can be a less-than-enjoyable experience. RoboCopy is a decent windows alternative, but, like rsync, it's logs are not for the uninitiated.
For consultants1 managing multiple clients, it can be hard to keep an eye on many different backups at once. If a consultant is unable to keep tabs on the backups of his/her customer, it could possibly lead to data loss and loss of a customer.
Synecdoche aims to remedy the situation by providing a framework which consultants and andministrators can use to create custom backup setups and also aggregate the backup job status reporting.
Based on Trac it will provide a web based reporting interface so that a consultant can see an conglomerate view of his/her clients' backup jobs. It will also allow the client to easily view the status of their own backup jobs.
Additionally, it will provide a windows service for running custom backup jobs written in Python. It will ship initially with a backup plugin to perform backups using RoboCopy.
Via the plugin interface, Synecdoche will be extensible such that consultants and developer can customize the jobs and reporting to their needs.
PROJECT SCHEDULE
- Planning (completion by end of June): Finalize all requirements, order implementation of requirements, become familiar with win32 python extentions.
- Development (completion by beginning of August): Iterative development cycle focusing on a single requirement at a time. Each requirement will go though it's own mini design-implement-test cycle.
- Wrap-up (completion by end of August): Stomp out any outstanding bugs, final testing, documentation, release packaging.
BIO
I have been developing in python for 2 1/2 years also and have been smitten by it's ease and elegance.
Currently a part-time student at Oregon Institute of Technology and a full-time IT consultant. As a consultant, I have, unfortunately, been bitten by un-noticed backup failures. Working with mostly small to medium sized businesses, big budgets for redundant backups don't exist. The ability to easily communicate the status of a backup job to a non-technical user is priceless. Also, being able to quickly know where the problem spots are will save me, and many consultants, hours of frustration and keep our faces dirt free.
- 1. or any administrator that manages multiple sites
