diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-06-07 14:34:14 +0800 |
---|---|---|
committer | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-06-07 14:52:09 +0800 |
commit | 5ac39a0e6c542ac2857d4d877c0df02598cf9b4f (patch) | |
tree | cf223478412d4e2bbaac6f53774ab65942a6ca4e /utils/test/result_collection_api/update/backup.py | |
parent | 1fe98dbd9ea08d14f6d14ceb0309903f4031961d (diff) |
add mongodb backup and restore scripts in testAPI
add directory update
add files backup.py restore.py utils.py
JIRA: FUNCTEST-297
Change-Id: I6e8b6c4b87b6081e67bc3e1a7605c83d0232e3ca
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'utils/test/result_collection_api/update/backup.py')
-rw-r--r-- | utils/test/result_collection_api/update/backup.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/utils/test/result_collection_api/update/backup.py b/utils/test/result_collection_api/update/backup.py new file mode 100644 index 000000000..faa4fd410 --- /dev/null +++ b/utils/test/result_collection_api/update/backup.py @@ -0,0 +1,44 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corporation +# feng.xiaowei@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +import os +import argparse +import datetime + +from utils import execute, main, get_abspath + +parser = argparse.ArgumentParser(description='Backup MongoDBs') + +parser.add_argument('-u', '--url', + type=str, + required=False, + default='mongodb://127.0.0.1:27017/', + help='Mongo DB URL for Backups') +parser.add_argument('-o', '--output_dir', + type=str, + required=False, + default='./', + help='Output directory for the backup.') + +parser.add_argument('-d', '--db', + type=str, + required=False, + default='test_results_collection', + help='database for the backup.') + + +def backup(args): + db = args.db + out = get_abspath(args.output_dir) + now = datetime.datetime.now() + out = os.path.join(out, '%s__%s' % (db, now.strftime('%Y_%m_%d_%H%M%S'))) + cmd = ['mongodump', '-o', '%s' % out] + execute(cmd, args) + +if __name__ == '__main__': + main(backup, parser) |