def backup_config(): models = {'storageadmin': ['user', 'group', 'sambashare', 'sambacustomconfig', 'netatalkshare', 'nfsexport', 'nfsexportgroup', 'advancednfsexport', ], 'smart_manager': ['service', ], } model_list = [] for a in models: for m in models[a]: model_list.append('%s.%s' % (a, m)) logger.debug('model list = %s' % model_list) filename = ('backup-%s.json' % datetime.now().strftime('%Y-%m-%d-%H%M%S')) cb_dir = ConfigBackup.cb_dir() if (not os.path.isdir(cb_dir)): os.mkdir(cb_dir) fp = os.path.join(cb_dir, filename) with open(fp, 'w') as dfo: call_command('dumpdata', *model_list, stdout=dfo) dfo.write('\n') call_command('dumpdata', database='smart_manager', *model_list, stdout=dfo) run_command(['/usr/bin/gzip', fp]) gz_name = ('%s.gz' % filename) fp = os.path.join(cb_dir, gz_name) size = os.stat(fp).st_size cbo = ConfigBackup(filename=gz_name, md5sum=md5sum(fp), size=size) cbo.save() return cbo
def backup_config(): models = { "storageadmin": [ "user", "group", "sambashare", "sambacustomconfig", "netatalkshare", "nfsexport", "nfsexportgroup", "advancednfsexport", 'rockon', 'dcontainer', 'dcustomconfig', 'dimage', 'dcontainerenv', 'dcontainerlabel', 'dvolume', 'dport', 'containeroption', 'dcontainerlink', 'dcontainerargs', 'dcontainerdevice', "share", ], "smart_manager": ["service", "servicestatus", "taskdefinition"], } model_list = [] for a in models: for m in models[a]: model_list.append("{}.{}".format(a, m)) filename = "backup-{}.json".format( datetime.now().strftime("%Y-%m-%d-%H%M%S")) cb_dir = ConfigBackup.cb_dir() if not os.path.isdir(cb_dir): os.mkdir(cb_dir) fp = os.path.join(cb_dir, filename) with open(fp, "w") as dfo: call_command("dumpdata", *model_list, stdout=dfo) dfo.write("\n") call_command("dumpdata", database="smart_manager", *model_list, stdout=dfo) run_command(["/usr/bin/gzip", fp]) gz_name = "{}.gz".format(filename) fp = os.path.join(cb_dir, gz_name) size = os.stat(fp).st_size cbo = ConfigBackup(filename=gz_name, md5sum=md5sum(fp), size=size) cbo.save() return cbo
def backup_config(): models = { 'storageadmin': [ 'user', 'group', 'sambashare', 'sambacustomconfig', 'netatalkshare', 'nfsexport', 'nfsexportgroup', 'advancednfsexport', ], 'smart_manager': [ 'service', ], } model_list = [] for a in models: for m in models[a]: model_list.append('%s.%s' % (a, m)) logger.debug('model list = %s' % model_list) filename = ('backup-%s.json' % datetime.now().strftime('%Y-%m-%d-%H%M%S')) cb_dir = ConfigBackup.cb_dir() if (not os.path.isdir(cb_dir)): os.mkdir(cb_dir) fp = os.path.join(cb_dir, filename) with open(fp, 'w') as dfo: call_command('dumpdata', *model_list, stdout=dfo) dfo.write('\n') call_command('dumpdata', database='smart_manager', *model_list, stdout=dfo) run_command(['/usr/bin/gzip', fp]) gz_name = ('%s.gz' % filename) fp = os.path.join(cb_dir, gz_name) size = os.stat(fp).st_size cbo = ConfigBackup(filename=gz_name, md5sum=md5sum(fp), size=size) cbo.save() return cbo