def run(self):
        logging.info("---------- Redis Backups Starting ----------")
        configfile = os.path.join(os.environ['STARTPATH'], "config.ini")
        conf = Config(configfile)

        serverList = conf.getServers()
        logging.debug("got server list: %s" % serverList)

        servers = {}
        for server in serverList:
            servers[server] = conf.getSectionDetails(server)

        awsconf = conf.getSectionDetails("aws")
        sensuconf = conf.getSectionDetails("sensu")

        logging.debug(servers)
        logging.debug(awsconf)
        logging.debug(sensuconf)

        while True:
            logging.debug("Backup process starting...")
            for server, value in servers.iteritems():
                logging.debug(value)
                prefix = None if value['prefix'] == 'none' else value['prefix']
                # if value['prefix'] == 'none':
                #     prefix = None
                # else:
                #     prefix = value['prefix']
                job = Backup(sensuconf=sensuconf,
                             server_name=value['hostname'],
                             port=int(value['port']),
                             save_directory=value['redis_save_dir'],
                             dbFileName=value['redis_db_name'],
                             aws=awsconf,
                             prefix=prefix)
                job.run()

            time.sleep(3600)
Пример #2
0
if not os.path.isfile('config/global.ini'):
    raise FileNotFoundError('config/global.ini')

config = configparser.ConfigParser()
config.read('config/global.ini')
servers = config['global']['proxmox_servers'].replace(' ', '').split(',')

if is_list_empty(servers):
    raise RuntimeError('no servers found in config')

log.set_loglevel(map_loglevel(config['global']['log_level']))
log.debug(f'CLI args: {vars(args)}')

try:
    if args.action == 'backup':
        backup = Backup(servers, config)
        if args.action_backup == 'run':
            if os.path.isfile('/tmp/proxmox-rbd-backup.lock'):
                print('There is already an instance running, abort', file=sys.stderr, flush=True)
                exit(1)

            backup.init_proxmox()
            vms_uuid = args.vm_uuid
            vms_id = args.vm_id
            vm_name_match = args.vm_name
            snapshot_name_prefix = args.snapshot_name_prefix
            allow_using_any_existing_snapshot = args.allow_using_any_existing_snapshot

            if snapshot_name_prefix:
                backup.set_snapshot_name_prefix(snapshot_name_prefix)
            else: