HomeUserBackup

Differences between revisions 30 and 31
Revision 30 as of 2006-06-23 13:18:14
Size: 8778
Editor: ALagny-109-1-2-193
Comment:
Revision 31 as of 2006-06-23 13:38:54
Size: 8879
Editor: ALagny-109-1-2-193
Comment:
Deletions are marked like this. Additions are marked like this.
Line 41: Line 41:
  * Ubuiguity desktop-cd installer, to incorporate the question of enabling and installation of HomeUserBackup onto a newly installed system.
Line 43: Line 42:

  * SystemCleanUpTool (Low priority) - We should integrate this into the backup tool, such that before each backup we will call the system clean up tool to check if there is any redundent data that can be purged prior to the backup process.

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. Intuitvely, he reaches his backup set and inserts the first backup cd into drive. The home user restore program is then automatically fired up, offering him to either restore his files, or backup new or changed files to the backup.
  • 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. To make sure new work he has done today will get backed up, he inserts his last differential backup cd. The system detects that a home user backup cd has been inserted into drive, and fires up the HomeUserBackup tool. It then calcualtes the newer and/or changed files, and makes sure there's enough free space on the medium to store the data. If not enough room is available, then home user backup system will suggest to the user that's it's probably a good idea to to start all over again, creating a new full backup.

  • Norman just replaced his HD that has gone bad, and installed a new one. He wants to have his system settings and installed packages restored. After re-installing his system on the new hard drive, he inserts the first backup CD into drive, the system recognizes a backup cd, and offers him to restore data from the backup archive. After confirming this action, HomeUserBackup instructs him to put the first CD of the previously created backup , and in that way prompts him to insert all the volumes, one after another. This holds just the same for when he installs a differential archive CD. At the end of this process his system is restored back with all of his personal settings, bookmarks, home folder content and any packages he had installed prior to the HD loss.

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 non optic medium's capacity. As HomeUserBackup already supports multi-volume backups over CDs , audio visual content will be backed up in that scenario by default.

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)

Other systems changes this spec invovles:

  • Desktop notification framework - there are newly created python bindings for libnotify, should be synced from debian once their packaging is done. see - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366863

  • SystemCleanUpTool (Low priority) - We should integrate this into the backup tool, such that before each backup we will call the system clean up tool to check if there is any redundent data that can be purged prior to the backup process.

These are out of the scope of this specification:

  • Data mirroring.
  • Doing backup against "native" non local medium. (i.e. http, sftp etc. Need to consider possibility of using gnome-vfs)
  • Backup scheduling algorithm. (possibly for the next version)
  • Backup list of installed packages. (ditto)
  • Encryption. (ditto)
  • Autorun capabilities (ditto).

Design

The backup functions will be available in the menus:

* Applications->Accessories->Backup to backup personal files

* System->Administration->System Backup to backup all personal files and selected system files - so requires administrative privileges

The restore and incremental backup function is based on the mime-type and backup cd detection. Moving the incremental backups out of the main backup window allows to tighten the workflow and to slim down the main window.

Since a file inclusion/exclusion selector is out of scope for edgy we will provide a function to backup all files in home or to skip a predefined set of files: temporary files (browser caches, thumbnails), music (by file extension - mp3, ogg, etc.), videos (avi, wmv, wmf, etc) and perhaps trash. In a third option you can specify a folder that should be backed up only. we store the corresponding profile in the meta information of the backup file.

The user is notified after the backup is complete, that he or she has to insert the cd or double click on the file to add newly changed files or to restore the data.

If the user inserts the cd or double clicks on a backup, a dialog would be shown asking for a way to handle the archive: cancel, adding newly changed files, verifying the backup file or restoring its contents.

The restore window shows the content of the archive in a tree view. Furthermore it allows to select and unselect files and to restore to a defined root folder.

The system backup should be a low hanging fruit if the normal backup is complete: We provide an option to backup all home folders, files in /etc that are different from the ones that are in the corresponding package and a list of manual installed packages (this aptitude function will be hopefully in apt soon). For restore we extract the config files and try to reinstall the packages of the old system.

Perhaps this can also be extended by a special backup profile for teachers in edubuntu.

Implementation

  • dar is used for the backup creation
  • cdrecord for burning the cdroms
  • add a mime type handler for your backup file - the extension is yet undecided
  • make use of hal hooks or eventually hermes for the cd autodetection (could be stolen from the install cd) - skipping this would not be a problem, since the cd is automounted and the user would have to click on the backup file that is on the cd
  • for the system backup the python we use the dpkg mechanism to detect modified config files and the coming automatically/manual installed package database of apt

attachment:backup.png

attachment:file.png

attachment:progress.png

attachment:complete.png

attachment:handler.png

attachment:restore.png

attachment:conflict.png

attachment:backup-system.png

Code

attachment:hub-glatzor-UDSParis.glade

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec

HomeUserBackup (last edited 2010-03-20 00:21:34 by d154-20-147-36)