Example #1
0
    def __init__(self, host, command):
        self._host = host
        self._command = command
        self._job_id = 0
        self._COMMAND_SUCCESS_OUTPUT = "SUCCESS"

	config_helper = Config_helper(host=host)
        self._ssh_user = config_helper.get_ssh_user()
        self._private_key_file = config_helper.get_private_key_file()
Example #2
0
    def __init__(self, host, command):
        self._host = host
        self._command = command
        self._job_id = 0
        self._COMMAND_SUCCESS_OUTPUT = "SUCCESS"

        config_helper = Config_helper(host=host)
        self._ssh_user = config_helper.get_ssh_user()
        self._private_key_file = config_helper.get_private_key_file()
Example #3
0
    def __init__(self, host, dir_to_verify, logger):
        self._host = host
        self._verify_directory = dir_to_verify

        self._log_helper = logger
        config_helper = Config_helper(host=self._host)

        self._ssh_user = config_helper.get_ssh_user()

        self._backup_directory = os.path.join(config_helper.get_backup_dir(), self._host)
Example #4
0
    def __init__(self, host, dir_to_verify, logger):
        self._host = host
        self._verify_directory = dir_to_verify

        self._log_helper = logger
        config_helper = Config_helper(host=self._host)

        self._ssh_user = config_helper.get_ssh_user()

        self._backup_directory = os.path.join(config_helper.get_backup_dir(),
                                              self._host)
Example #5
0
    def __init__(self, host, log_name):
        self._host = host

        config = Config_helper(host)
        self._log_file = config.get_log_file()

        self._log_format = "[%(asctime)s] [" + host + "] [%(levelname)s] %(message)s"
        self._date_format = '%Y-%m-%d %H:%M:%S'
        self._log_level = logging.INFO

        self._logger = logging.getLogger("%s.%s" % (log_name, host))
        self._logger.setLevel(self._log_level)
Example #6
0
    def __init__(self, host, log_name):
	self._host = host

        config = Config_helper(host)
        self._log_file = config.get_log_file()

        self._log_format = "[%(asctime)s] [" + host + "] [%(levelname)s] %(message)s"
        self._date_format = '%Y-%m-%d %H:%M:%S'
        self._log_level = logging.INFO
        
        self._logger = logging.getLogger("%s.%s" % (log_name, host))
        self._logger.setLevel(self._log_level)
Example #7
0
    def __init__(self, host):
        logging.handlers.MemoryHandler.__init__(self, target=None,
                            flushLevel=logging.ERROR,
                            capacity=Buffered_email_handler.BUFFER_CAPACITY)
        self._emailer = Email_helper()

	self._host = host

	config_helper = Config_helper(host=host)
	to_emails = config_helper.get_error_email_recipient()
	self._to_email_list = to_emails.split(',')

	self._error_logged = False
Example #8
0
    def run(self):
        host = self.queue.get()
        config_helper = Config_helper(host=host)
        backup_root = os.path.join(config_helper.get_backup_dir(), host)
        prepare_dir = os.path.join(backup_root, "prepare")
	archive_dir = os.path.join(backup_root, "ready")

	prepare_error_dir = os.path.join(backup_root, "prepare_error")
	if os.path.isdir(prepare_error_dir):
	    shutil.rmtree(prepare_error_dir)
	verify_error_dir = os.path.join(backup_root, "verify_error")
	if os.path.isdir(verify_error_dir):
            shutil.rmtree(verify_error_dir)

	logger = self.setup_logger(host=host)

	start_time = datetime.now()
	logger.info_message("######### STARTING BACKUP PROCESS #########")

        return_val = self.do_backup(host=host, logger=logger)
        if return_val:
            prepare_status = self.prepare_backup(host=host,
                                    backup_type=return_val['backup_type'],
                                    backup_dir=return_val['backup_dir'],
                                    prepare_dir=prepare_dir,
				    logger=logger)

            if prepare_status:
                verify_status = self.verify_backup(host=host, 
                                        dir_to_verify=prepare_dir,
					logger=logger)
		    
		if verify_status:
		    self.archive_backup(archive_dir=archive_dir,
				    backup_dir=return_val['backup_dir'],
				    dir_to_archive=prepare_dir,
				    logger=logger)

		    self.recycle_backups(host=host, logger=logger)
		else:
		    shutil.move(prepare_dir, verify_error_dir)
	    else:
		shutil.move(prepare_dir, prepare_error_dir)

	end_time = datetime.now()
	timedelta = end_time - start_time
	logger.info_message("######### BACKUP PROCESS COMPLETED "
				"[TOTAL DURATION: %s] #########" % 
				str(timedelta))

        self.queue.task_done()
Example #9
0
    def run(self):
        host = self.queue.get()
        config_helper = Config_helper(host=host)
        backup_root = os.path.join(config_helper.get_backup_dir(), host)
        prepare_dir = os.path.join(backup_root, "prepare")
        archive_dir = os.path.join(backup_root, "ready")

        prepare_error_dir = os.path.join(backup_root, "prepare_error")
        if os.path.isdir(prepare_error_dir):
            shutil.rmtree(prepare_error_dir)
        verify_error_dir = os.path.join(backup_root, "verify_error")
        if os.path.isdir(verify_error_dir):
            shutil.rmtree(verify_error_dir)

        logger = self.setup_logger(host=host)

        start_time = datetime.now()
        logger.info_message("######### STARTING BACKUP PROCESS #########")

        return_val = self.do_backup(host=host, logger=logger)
        if return_val:
            prepare_status = self.prepare_backup(
                host=host,
                backup_type=return_val['backup_type'],
                backup_dir=return_val['backup_dir'],
                prepare_dir=prepare_dir,
                logger=logger)

            if prepare_status:
                verify_status = self.verify_backup(host=host,
                                                   dir_to_verify=prepare_dir,
                                                   logger=logger)

                if verify_status:
                    self.archive_backup(archive_dir=archive_dir,
                                        backup_dir=return_val['backup_dir'],
                                        dir_to_archive=prepare_dir,
                                        logger=logger)

                    self.recycle_backups(host=host, logger=logger)
                else:
                    shutil.move(prepare_dir, verify_error_dir)
            else:
                shutil.move(prepare_dir, prepare_error_dir)

        end_time = datetime.now()
        timedelta = end_time - start_time
        logger.info_message("######### BACKUP PROCESS COMPLETED "
                            "[TOTAL DURATION: %s] #########" % str(timedelta))

        self.queue.task_done()
Example #10
0
    def __init__(self, host, logger):
	self._host = host
	self._log_helper = logger

	config_helper = Config_helper(host=self._host)
	self._retention_days = int(config_helper.get_retention_days())
	self._retain_ready_backups = int(config_helper.get_retain_num_ready_backups())

	self._threshold_date = datetime.now() - timedelta(days=self._retention_days)

	self._backup_dir = os.path.join(config_helper.get_backup_dir(), self._host)
        self._backup_full_dir = os.path.join(self._backup_dir, "full")
        self._backup_inc_dir = os.path.join(self._backup_dir, "incremental")
	self._archive_dir = os.path.join(self._backup_dir, "ready")
Example #11
0
    def __init__(self, host, logger):
        self._host = host
	self._log_helper = logger

        config_helper = Config_helper(host=self._host)

        self._backup_manager_host = config_helper.get_backup_manager_host()
        self._full_backup_day = config_helper.get_full_backup_day()

        self._remote_backup_cmd = config_helper.get_remote_backup_cmd()

        self._backup_directory = config_helper.get_backup_dir()
        self._backup_full_directory = os.path.join(self._backup_directory, "full")
        self._backup_incremental_directory = os.path.join(self._backup_directory, "incremental")
Example #12
0
    def __init__(self, host):
        logging.handlers.MemoryHandler.__init__(
            self,
            target=None,
            flushLevel=logging.ERROR,
            capacity=Buffered_email_handler.BUFFER_CAPACITY)
        self._emailer = Email_helper()

        self._host = host

        config_helper = Config_helper(host=host)
        to_emails = config_helper.get_error_email_recipient()
        self._to_email_list = to_emails.split(',')

        self._error_logged = False
Example #13
0
    def __init__(self, host, backup_type, backup_dir, prepare_dir, logger):
        self._host = host
        self._backup_type = backup_type
        self._backup_dir = backup_dir
        self._prepare_directory = prepare_dir
        self._log_helper = logger

        config_helper = Config_helper(host=self._host)

        self._backup_directory = config_helper.get_backup_dir()
        self._backup_full_directory = os.path.join(
                                    self._backup_directory, 
                                    "full")
        self._backup_incremental_directory = os.path.join(
                                        self._backup_directory, 
                                        "incremental")
Example #14
0
    def __init__(self, host, logger):
        self._host = host
        self._log_helper = logger

        config_helper = Config_helper(host=self._host)
        self._retention_days = int(config_helper.get_retention_days())
        self._retain_ready_backups = int(
            config_helper.get_retain_num_ready_backups())

        self._threshold_date = datetime.now() - timedelta(
            days=self._retention_days)

        self._backup_dir = os.path.join(config_helper.get_backup_dir(),
                                        self._host)
        self._backup_full_dir = os.path.join(self._backup_dir, "full")
        self._backup_inc_dir = os.path.join(self._backup_dir, "incremental")
        self._archive_dir = os.path.join(self._backup_dir, "ready")
Example #15
0
    def __init__(self, host, backup_type, backup_dir, prepare_dir, logger):
        self._host = host
        self._backup_type = backup_type
        self._backup_dir = backup_dir
        self._prepare_directory = prepare_dir
        self._log_helper = logger

        config_helper = Config_helper(host=self._host)

        self._backup_directory = os.path.join(
                                    config_helper.get_backup_dir(), 
                                    self._host)
        self._backup_full_directory = os.path.join(
                                    self._backup_directory, 
                                    "full")
        self._backup_incremental_directory = os.path.join(
                                        self._backup_directory, 
                                        "incremental")
Example #16
0
    def __init__(self, host, logger):
        self._host = host
        self._log_helper = logger

        config_helper = Config_helper(host=self._host)

        self._backup_manager_host = config_helper.get_backup_manager_host()
        self._full_backup_day = config_helper.get_full_backup_day()

        self._remote_backup_cmd = config_helper.get_remote_backup_cmd()
        self._remote_cmd = Async_remote_command(
            host=self._host, command=self._remote_backup_cmd)

        self._backup_directory = os.path.join(config_helper.get_backup_dir(),
                                              self._host)
        self._backup_full_directory = os.path.join(self._backup_directory,
                                                   "full")
        self._backup_incremental_directory = os.path.join(
            self._backup_directory, "incremental")
Example #17
0
    def __init__(self, host=None):
	config_helper = Config_helper(host=host)
	self._root_dir = config_helper.get_root_dir()
	self._pid_file = config_helper.get_pid_file()
	self._pid = os.getpid()
	self._pid_file_handle = None
Example #18
0
 def __init__(self, host=None):
     config_helper = Config_helper(host=host)
     self._root_dir = config_helper.get_root_dir()
     self._pid_file = config_helper.get_pid_file()
     self._pid = os.getpid()
     self._pid_file_handle = None