HomeUserBackup

Revision 12 as of 2006-06-08 16:23:24

Clear message

Summary

This specification will discuss what's needed to take the the simple and concise backup application that was introduced in dapper, an make it a robust, finished solution that will be shipped in Edgy Eft. This solution will utilize desktop notifications to make sure a user either backs up his data, or otherwise is aware of the consequences that may arise if he does not. This solution shall form the foundation to more advanced and complete light dependency disaster recovery system.

Rationale

Providing an easy-to-use backup solution that's suitable for non-expert users is important. Expert users should install and/or use a more sophisticated backup system. Part of the rationale is to tell the user exactly what he has to do, rather than leave it for him to think up a backup schema, or take decisions about when/if to backup himself.

Use cases

  • John is a new Ubuntu user. He has been using his system for a week now, managed to sort everything out by means of getting his favorite theme set up and desktop behavior. He has also already got quite a few important email messages and some other bits of information currently stored on his Desktop. John however, is a newcomer to Ubuntu and is not aware of the fact he has to do periodic backups. After using his machine for a week, a pop up dialog appears telling him "It has been a week since you installed your computer. In order to be able to restore it to the current state if data loss occurs, it's recommended that you do a backup. Would you like to do that now". Upon confirmation, he is presentd with the home-user-backup tool GUI, and carry backup procedure from there.
  • Rob wants to refresh the backup set he had previously created. He opens the backup program, and is prompted to insert his old backup media if it's rewriteable (multi-sesion CD), or blank media (CDR) if not. Then, the backup program scans for changes and additions to Rob's home directory and backs up only the files that have changed.
  • Marilize is a concerned Ubuntu user. Using her machine for 3 days now, she wishes to backup her data in order to be able to restore it in case it goes bad. She goes to "System" --> "Administration" --> "Backup Now". She is then instructed to insert CD media for storing the data backup. After confirming that she has inserted a CD into the drive, all her personal data is backed up against it. When finished a pop up dialog instructs her "Please take out the CD, and label it 'Ubuntu Personal Backup data, dated 10-10-2006, 06:00am'".

  • Dan has been doing differential backups for some time now, and his multi session CD that is used for storing the differential snapshot is almost full. Today he wants to add yet another snapshot, for the changes he introduced to his home folder today. After he confirmed to do again a backup of his home folder, HomeUserBackup system calcualted the needed free space and noticed it won't go on the cd due to limited free space. HomeUserBackup suggest to Dan that it's probably a good time a make a new full backup, instead of a differential one.

Scope

This specification covers only backing up all the home directories on a given machine (i.e. data and settings files). Audiovisual content will be also backed up, unless it exceeds a one volume only medium's capacity. As HomeUserBackup already supports multi-volume backups over CDs , audio visual content could be backed up as well.

These are in the scope of this specification:

  • Backup against custom selected path. (could cater for non local medium backup if those are exposed as file system entries)
  • Multi Volume Backups. (already working with CDROMs in HomeUserBackup. needs improvement and possibly generalization for other mediums)

These are out of the scope of this specification:

  • Data mirroring.
  • Doing backup against "native" non local medium. (i.e. network, sftp etc..)
  • Backup scheduling algorithm. (possibly for the next version)
  • Backup list of installed packages. (ditto)
  • Encryption. (ditto)
  • Autorun capabilities (ditto).

Design

Implementation

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec