def backup(cfg, run_type, lock_file, binlogs_only):
    """Run backup job"""
    try:

        run_backup_job(
            cfg,
            run_type,
            lock_file=lock_file,
            binlogs_only=binlogs_only
        )
    except (LockWaitTimeoutError, OperationError) as err:
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)
    except ModifierException as err:
        LOG.error('Error in modifier class')
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)
    except SourceError as err:
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)
    except KeyboardInterrupt:
        LOG.info('Exiting...')
        kill_children()
        exit(1)
def test_run_backup_job_gets_lock(mock_get_timeout, mock_backup_everything,
                                  tmpdir):
    config_content = """
[source]
backup_dirs=/etc /root /home

[intervals]
run_hourly=yes
run_daily=yes
run_weekly=yes
run_monthly=yes
run_yearly=yes
    """
    lock_file = str(tmpdir.join('foo.lock'))
    config_file = tmpdir.join('foo.cfg')
    config_file.write(config_content)

    cfg = TwinDBBackupConfig(config_file=str(config_file))

    mock_get_timeout.return_value = 1

    run_backup_job(cfg, 'hourly', lock_file=lock_file)
    mock_backup_everything.assert_called_once_with('hourly',
                                                   cfg,
                                                   binlogs_only=False)
Beispiel #3
0
def test_run_backup_job_gets_lock(mock_get_timeout, mock_backup_everything,
                                  tmpdir):
    config_content = """
[source]
backup_dirs=/etc /root /home

[intervals]
run_hourly=yes
run_daily=yes
run_weekly=yes
run_monthly=yes
run_yearly=yes
    """
    lock_file = str(tmpdir.join('foo.lock'))
    config_file = tmpdir.join('foo.cfg')
    config_file.write(config_content)

    cfg = TwinDBBackupConfig(
        config_file=str(config_file)
    )

    mock_get_timeout.return_value = 1

    run_backup_job(cfg, 'hourly', lock_file=lock_file)
    mock_backup_everything.assert_called_once_with(
        'hourly',
        cfg,
        binlogs_only=False
    )
Beispiel #4
0
def backup(ctx, run_type, lock_file, binlogs_only):
    """Run backup job"""
    try:

        run_backup_job(ctx.obj['twindb_config'],
                       run_type,
                       lock_file=lock_file,
                       binlogs_only=binlogs_only)
    except TwinDBBackupError as err:
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)

    except KeyboardInterrupt:
        LOG.info('Exiting...')
        kill_children()
        exit(1)
Beispiel #5
0
def backup(ctx, run_type, lock_file, binlogs_only):
    """Run backup job"""
    try:

        run_backup_job(
            ctx.obj['twindb_config'],
            run_type,
            lock_file=lock_file,
            binlogs_only=binlogs_only
        )
    except TwinDBBackupError as err:
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)

    except KeyboardInterrupt:
        LOG.info('Exiting...')
        kill_children()
        exit(1)
Beispiel #6
0
def backup(cfg, run_type, lock_file):
    """Run backup job"""
    try:

        run_backup_job(cfg, run_type, lock_file=lock_file)

    except IOError as err:
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)

    except ModifierException as err:
        LOG.error('Error in modifier class')
        LOG.error(err)
        LOG.debug(traceback.format_exc())
        exit(1)
    except KeyboardInterrupt:
        LOG.info('Exiting...')
        kill_children()
        exit(1)
Beispiel #7
0
def backup(cfg, run_type):
    """Run backup job"""

    run_backup_job(cfg, run_type)