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
- Raise error, showing missing modules
- If the installed system has more modules installed than those backuped
- Warn the user, explaining differencesm and proceed
- If some backuped modules are missing in the installed system
