diff --git a/modoboa_installer/scripts/__init__.py b/modoboa_installer/scripts/__init__.py index 3edfa66..43dab70 100644 --- a/modoboa_installer/scripts/__init__.py +++ b/modoboa_installer/scripts/__init__.py @@ -23,3 +23,16 @@ def install(appname, config, upgrade): except utils.FatalError as inst: utils.printcolor(u"{}".format(inst), utils.RED) sys.exit(1) + +def backup(config): + """Backup instance""" + try: + script = importlib.import_module( + "modoboa_installer.scripts.backup") + except ImportError: + print("Error importing backup") + try: + getattr(script, "BACKUP"())(config).run() + except utils.FatalError as inst: + utils.printcolor(u"{}".format(inst), utils.RED) + sys.exit(1) diff --git a/modoboa_installer/scripts/backup.py b/modoboa_installer/scripts/backup.py index 5fa1af8..588ca99 100644 --- a/modoboa_installer/scripts/backup.py +++ b/modoboa_installer/scripts/backup.py @@ -1,9 +1,10 @@ """Backup script for pre-installed instance""" -import shutil -import utils import os +import shutil + from .. import database +from .. import utils #TODO: have version of each modoboa componenents saved into the config file to restore the same version diff --git a/run.py b/run.py index f09022d..213b89a 100755 --- a/run.py +++ b/run.py @@ -15,7 +15,6 @@ from modoboa_installer import scripts from modoboa_installer import ssl from modoboa_installer import system from modoboa_installer import utils -from modoboa_installer.scripts import backup def installation_disclaimer(args, config): """Display installation disclaimer.""" @@ -105,8 +104,7 @@ def main(input_args): upgrade_disclaimer(config) elif args.backup: backup_disclamer() - backupProcess = backup.Backup(config) - backupProcess.run() + scripts.backup(config) return else: installation_disclaimer(args, config)