backup.py 925 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env python3
  2. # encoding: utf-8
  3. from . import ocboot
  4. from .db import backup_config, backup_db
  5. from .utils import print_title
  6. from .cmd import ensure_pv
  7. def add_command(subparsers):
  8. parser = subparsers.add_parser(
  9. "backup", help="backup onecloud cluster")
  10. parser.add_argument('config', help="config yaml file")
  11. parser.add_argument(
  12. '--backup-path', help="backup path, default: /opt/yunion/backup", default="/opt/yunion/backup")
  13. parser.add_argument('--light', action='store_true', default=True,
  14. help="ignore yunionmeter and yunionlogger database; ignore tables start with 'opslog' and 'task'.")
  15. parser.set_defaults(func=do_backup)
  16. def do_backup(args):
  17. config = ocboot.load_config(args.config)
  18. backup_config(args.config, args.backup_path)
  19. backup_db(config, args.backup_path, args.light)
  20. print_title('Backup to: %s' % args.backup_path)