Goal

We must able to restore eBox state from the backup dvd.

Requirements

  • The next things will be backed up
    • eBox Configuration (full GConf/ebox tree)
    • Log database (PostgreSQL dump)
    • Files pointed by individual modules
  • Only local system will be backed up
  • Data will be stored and retrieved using DVD-RW media
  • Data corruption will be checked
  • Data will be stored without encryption
  • Fire backup process at user request. (we are using a regular DVD-writer after all)

Design

  • Each module may provide information about no-GConf configuration (all the GConf configuration is backed-up at once) to be backed up:
    • This information is provided by a object that is child of EBox::Backup::BackupHelper?
    • Description (to be showed in backup GUI), i18nable
    • Version of module(via Module::BackupHelper::version method)
    • A sub to dump the configuarion to the mentioned files (via Module::BackupHelper::dumpConf method) (if the configuration can copied verbatin from files the dumpConf sub may copy or link those files)
    • A sub to resotre the configuarion from the backed-up files to the mentioned files (via Module::BackupHelper::restoreConf method)
    • Idea: ¿check individual data corruption?
    • Idea: ¿boolean to compress data?
  • Backup and installed system configuration mismatch
    • If some backuped modules are missing in the installed system
      • Raise error, showing missing modules
        • An enhanced version may "auto-install" or prompt the user to do so
      • User will have to install those modules
    • If the installed system has more modules installed than those backuped
      • Warn the user, explaining differencesm and proceed