DapperHomeUserBackup

Differences between revisions 8 and 9
Revision 8 as of 2005-10-19 23:53:54
Size: 7662
Editor: 213-205-69-164
Comment:
Revision 9 as of 2005-10-21 16:47:34
Size: 7673
Editor: bzq-82-81-254-248
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * Interested:  * Interested: SivanGreen

Summary

Home User Backup - Backup tool available in menus. Possibly backing up home dir + list of installed graphical apps? Allow incremental backups. Allow backup to harddrives, FTP ? Allow backup of shared partitions (typically FAT32 shared with windows).

Rationale

Use cases

  • Joe would like to create a backup of his home directory. He starts the "Ubuntu Backup" software and, because it's the first time the application is running, a wizard dialog is displayed, informing Joe of the backup procedure, with a message like:BR "This is the first time you're executing Ubuntu Backup. The application, after analysing the data in your home directory, will create a full backup of it". BR When Joe clicks the Next button, a progress bar will keep him informed of the progress and when finished, the application asks Joe if he wants to backup his data into (number of 700Mb) CD-Roms or (number of 4.7Gb) DVDs. BR After choosing the media, Joe will only have to change the CDs needed for recording.

  • After a month, Joe would like to perform a new backup of his data. Tipically, there aren't many changes in a month so he's thinking of an incremental backup. Because it's the second time Joe executes "Ubuntu Backup", he will now have the option to perform an incremental backup besides a full backup. Joe chooses to create an incremental backup. Because a GNOME Service has been keeping track of what changed, the application knows exactly what files were created, changed or deleted and the exact size of those files. After Joe chooses to perform an incremental backup, he'll be able to choose whether he wants to record his stuff into a single CD or a single DVD since the changes will only take around 500Mb of storage. The only thing Joe has to do is to insert a blank media and press the Start Backup button.
  • Joe already did 5 incremental backups and the starting full backup. In one of those days, his hard-drive went belly up so he had to reinstall Ubuntu. He now wants to restore his home directory so Joe inserts the first backup CD. This CD is part of the first incremental backup. As soon has the CD icons shows up on the desktop, a message pops up asking Joe if he wants to restore his data. Joe answers "Yes", and the application asks Joe to either insert the first CD of the very last incremental backup performed or continue with the inserted CD in case this is the only backup media. BR Joe then fetches the first CD of the last backup set, clicks the continue button and the restore procedure starts. BR Because every first CD of each backup set contains a special file (some sort of change-log that restarts with each backup) with the filesystem changes, it is granted that upon termination Joe's home directory will be at the same state as of the last backup performed. Files that were deleted, will not be copied to the user's home, nor will older files overwrite newer ones.

  • Anna has been using "Ubuntu Backup" for a while now. She deleted a very important report by mistake and now needs to restore that file. Anna executes "Ubuntu Backup" and chooses the Restore option.

The application informs Anna that, for the following moments, she must keep the backup CDs handy. She clicks the continue button and is asked to insert the first CD of the first backup, followed by the first CD of the second backup, etc. until there are no more backup sets and Anna chooses to proceed to restore. BR The application now displays a browser, much like Nautilus, with the most recent versions all folders and files backed up. She double-clicks in the "Documents" folder and sees that important report. Anna right-clicks over the file icon and chooses the "Restore" option. The application now asks Anna for the 4th CD of the 5th backup set, which is needed to restore that file. Anna inserts the requested CD, the restore is performed and the application informs Anna that the file has been restored.

  • Mike wants to have a mirror of his data on a dedicated harddrive. So he starts the Ubuntu Backup, then choose the "mirror copy" option in the wizard, select on a tree view of this computer all the partitions (including the FAT32 ones) or the directory he wants to copy, with "incremental" option to save only what was modified or add, then the "exact mirror" option to delete the files present in the backup and deleted in the source. He gives a name to this operation, then repeats the process for all the other partitions or directories he wants to save. He creates then a scheduled operation, place all the operations he has just created in this scheduled operation then choose the schedule: every nite at 3am. (exactly what he was able to do with a Cobian Backup or equivalent on his Windows XP). He then decides to add a FTP backup, specify a FTP account as the source, with the directory to save, add a filter to save only .php files, select the destination, save the operation, adds it to the scheduled group. Then every morning at 3am, the mirror is updated, and an email is sent to Mike with a report of the operation. BR CPinto: I don't think this kind of expert usage should be the target of the application. There are others, like sbackup that allow you to perform network backups. BR Also, what we should aim for is something so simple to use that my aunt could use it without asking me for directions. I'd like to propose something that requires very little action and very few decisions from the user.

Scope

Design

Implementation

At first glance:

  • inotify is needed because the GNOME service needs to observe changes to the user's home directory
  • a simple way of logging changes in the filesystem. Something that can hold key,value pairs will suffice (BDB?). BR

Examples: BR /home/joe/Documents/ImportantDocument.ods => changed BR /home/joe/Multimedia/ => created BR /home/joe/OldFile.ods => deleted BR /home/joe/Documents/OldFile.ods => created BR

  • an autorun-like facility that will be incorporated in each first CD of each backup set, that starts "Ubuntu Restore"
  • each first CD of the backup sets, will have an index to know on which CD a file can be found.
  • the files will be backed up in the original format. This may seem a waste of space, but media is dirt-cheap and the ability to browse the backup CD's to look for a specific file without having to execute the restore procedure or decompressing the files is priceless.
  • the application must be able to handle files split across multiple media. An example is a 1Gb file that has to be recorded into 2 CD's.

I've created 4 mockup screens that illustrate the first use case:BR [http://yimports.com/~cpinto/downloads/ub_screenies/1_welcome.png][[BR]] [http://yimports.com/~cpinto/downloads/ub_screenies/2_gathering.png][[BR]] [http://yimports.com/~cpinto/downloads/ub_screenies/3_choose_media.png][[BR]] [http://yimports.com/~cpinto/downloads/ub_screenies/4_burning.png][[BR]]

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion

DapperHomeUserBackup (last edited 2008-08-06 16:37:51 by localhost)