def apply_incremental_backup(self, archive_repository, incremental_step):
        self.stop_watch.start_timer()
        try:
            prefix = ''.join(['inc_', str(incremental_step), '_'])
            backup_archive = filesystem_utils.get_prefixed_file_in_dir(
                archive_repository, prefix)
            extracted_archive_path = ''.join([self.workdir, '/',
                                              prefix, 'archive'])
            filesystem_utils.mkdir_path(extracted_archive_path, 0o755)
            self.command_executor.extract_archive(backup_archive,
                                                  extracted_archive_path,
                                                  self.compressed_archives)
            self.command_executor.exec_incremental_preparation(
                self.data_dir,
                extracted_archive_path)
        except:
            self.logger.error(
                'An error occured during an incremental backup restoration.',
                exc_info=True)
            self.clean()
            raise
        self.logger.info("Incremental step #%s restoration time: %s\
 - Duration: %s",
                         incremental_step,
                         self.stop_watch.stop_timer(),
                         self.stop_watch.duration_in_seconds())
예제 #2
0
    def apply_incremental_backup(self, archive_repository, incremental_step):
        self.stop_watch.start_timer()
        try:
            prefix = ''.join(['inc_', str(incremental_step), '_'])
            backup_archive = filesystem_utils.get_prefixed_file_in_dir(
                archive_repository, prefix)
            extracted_archive_path = ''.join([self.workdir, '/',
                                              prefix, 'archive'])
            filesystem_utils.mkdir_path(extracted_archive_path, 0o755)
            self.command_executor.extract_archive(backup_archive,
                                                  extracted_archive_path,
                                                  self.compressed_archives)
            self.command_executor.exec_incremental_preparation(
                self.data_dir,
                extracted_archive_path)
        except:
            self.logger.error(
                'An error occured during an incremental backup restoration.',
                exc_info=True)
            self.clean()
            raise
        self.logger.info("Incremental step #%s restoration time: %s\
 - Duration: %s",
                         incremental_step,
                         self.stop_watch.stop_timer(),
                         self.stop_watch.duration_in_seconds())
예제 #3
0
 def prepare_workdir(self, path):
     try:
         filesystem_utils.mkdir_path(path, 0o755)
     except exception.ProgramError:
         self.logger.error('Workdir preparation failed.', exc_info=True)
         raise
     self.workdir = path + '/xtrabackup_tmp'
     self.logger.debug("Temporary workdir: " + self.workdir)
     if self.compress:
         self.archive_path = path + '/backup.tar.gz'
     else:
         self.archive_path = path + '/backup.tar'
     self.logger.debug("Temporary archive: " + self.archive_path)
예제 #4
0
 def prepare_workdir(self, path):
     try:
         filesystem_utils.mkdir_path(path, 0o755)
     except exception.ProgramError:
         self.logger.error('Workdir preparation failed.', exc_info=True)
         raise
     self.workdir = path + '/xtrabackup_tmp'
     self.logger.debug("Temporary workdir: " + self.workdir)
     if self.compress:
         self.archive_path = path + '/backup.tar.gz'
     else:
         self.archive_path = path + '/backup.tar'
     self.logger.debug("Temporary archive: " + self.archive_path)
예제 #5
0
 def prepare_workdir(self, path):
     self.workdir = path + '/pyxtrabackup-restore'
     filesystem_utils.mkdir_path(self.workdir, 0o755)
     self.logger.debug("Temporary workdir: " + self.workdir)
예제 #6
0
 def prepare_workdir(self, path):
     filesystem_utils.mkdir_path(path, 0o755)
     self.workdir = path + '/xtrabackup_tmp'
     self.logger.debug("Temporary workdir: " + self.workdir)
     self.archive_path = path + '/backup.tar.gz'
     self.logger.debug("Temporary archive: " + self.archive_path)
예제 #7
0
 def prepare_workdir(self, path):
     filesystem_utils.mkdir_path(path, 0o755)
     self.workdir = path + '/xtrabackup_tmp'
     self.logger.debug("Temporary workdir: " + self.workdir)
     self.archive_path = path + '/backup.tar.gz'
     self.logger.debug("Temporary archive: " + self.archive_path)
 def prepare_workdir(self, path):
     self.workdir = path + '/pyxtrabackup-restore'
     filesystem_utils.mkdir_path(self.workdir, 0o755)
     self.logger.debug("Temporary workdir: " + self.workdir)