def execute(state): # Restore tracking DB from storage, ignore possible error err, msg = storager.restore( state.states.storager, "{}/{}".format(state.model.dirstorage, '_aeroback'), state.states.dbr.model.dir_db, state.states.dbr.model.filename, None) if err: warn = "Backup {}: File Versioned Tracking DB not found in storage. Ignore if that's the first run".format(state.model.atype) state.add_msg_warning(warn) _D.WARNING( __name__, warn, 'msg', msg ) # Tracking DBr execute err, msg = dbr.execute(state.states.dbr) if err: return 1, msg # Compress directories err, msg = _archive_dirs(state) if err: return 1, "Error archiving dirs: {}".format(msg) # Store archive err, msg = _store_archive(state) if err: return 1, msg return 0, None
def execute(state): # Restore tracking DB from storage, ignore possible error err, msg = storager.restore( state.states.storager, state.model.dirstorage, state.states.dbr.model.dir_db, state.states.dbr.model.filename, None, ) if err: warn = "Backup {}: Tracking DB not found in storage. Ignore if that's the first run".format(state.model.atype) state.add_msg_warning(warn) _D.WARNING(__name__, warn, "msg", msg) # Tracking DBr execute err, msg = dbr.execute(state.states.dbr) if err: return 1, msg # Dump DB if state.model.atype == "db_mongo": err, msg = _dump_db_mongo(state) elif state.model.atype == "db_mysql": err, msg = _dump_db_mysql(state) else: return 1, "Not supported DB type: {}".format(state.model.atype) if err: return 1, msg # Compress DB dump directory err, msg = _archive_dump(state) if err: return 1, msg # Store DB archive err, msg = _store_archive(state) if err: return 1, msg return 0, None