[python] 백업과 복구 작업 시 로그 파일 활용하기

백업과 복구는 데이터 유실이나 시스템 장애로부터 시스템을 보호하기위해 중요한 작업입니다. 그러나 백업과 복구 작업 자체도 오류가 발생할 수 있으며, 작업의 정확성을 확인하기 위해 로그 파일을 활용할 수 있습니다. 로그 파일에는 작업의 성공 또는 실패와 관련된 정보가 기록되어 있어 문제를 진단하고 해결하는 데 도움이 됩니다.

로그 파일 생성하기

로그 파일을 생성하려면 logging 모듈을 사용할 수 있습니다. 다음은 logfile.log라는 이름의 로그 파일을 생성하는 예제 코드입니다.

import logging

logging.basicConfig(filename='logfile.log', level=logging.INFO)

logging.info('백업 작업 시작')
# 백업 작업 수행
logging.info('백업 작업 완료')

위의 코드에서는 logging.basicConfig() 함수를 사용하여 로그 파일의 이름과 로깅 레벨을 설정합니다. 여기서는 level=logging.INFO로 설정하여 INFO 레벨 이상의 로그 메시지를 기록합니다.

로그 파일 분석하기

로그 파일을 분석하여 백업 작업의 성공 또는 실패 여부를 확인할 수 있습니다. 아래는 로그 파일을 읽고 각 로그 레벨에 따라 작업의 성공 또는 실패를 출력하는 예제 코드입니다.

import logging

logging.basicConfig(filename='logfile.log', level=logging.INFO)

with open('logfile.log', 'r') as file:
    for line in file.readlines():
        if '백업 작업 완료' in line:
            print('[성공] 백업 작업 완료')
        elif '백업 작업 시작' in line:
            print('[시작] 백업 작업 시작')
        elif 'ERROR' in line:
            print('[실패] 작업 중 오류 발생')
        elif 'WARNING' in line:
            print('[경고] 작업 중 경고 발생')

위의 코드에서는 open() 함수를 사용하여 로그 파일을 읽고, 각 줄을 검사하여 작업의 성공, 실패, 경고 여부를 판별합니다. 이를 통해 로그 파일을 분석하여 문제를 파악하고 해결할 수 있습니다.

로그 파일 유지하기

로그 파일은 여러 작업에서 사용될 수 있으므로 기존 로그 파일을 유지하고 새로운 작업 로그를 추가해야 합니다. 로그 파일 유지를 위해서는 logging.FileHandler를 사용할 수 있습니다. 아래는 로그 파일을 유지하여 계속해서 작업 로그를 기록하는 예제 코드입니다.

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

file_handler = logging.FileHandler('logfile.log')
file_handler.setLevel(logging.INFO)

formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)

logger.addHandler(file_handler)

logger.info('작업 로그 기록')

위의 코드에서 logger 객체를 생성하고, logger.setLevel() 함수를 사용하여 로깅 레벨을 설정합니다. 그 후 file_handler 객체를 생성하여 로그 파일과 로깅 레벨을 설정하고, formatter 객체를 생성하여 로그 메시지의 형식을 설정합니다. 마지막으로 file_handlerlogger에 추가하고 logger.info() 함수를 사용하여 로그 메시지를 기록합니다.

결론

백업과 복구 작업은 시스템의 안정성을 유지하기 위한 중요한 작업입니다. 로그 파일을 활용하여 작업의 성공 또는 실패 여부를 확인하고 문제를 파악하는 데 도움이 되는 것은 매우 중요합니다. 로그 파일을 생성, 분석하고 유지하는 방법을 배워서 신뢰성 있는 백업과 복구 작업을 수행할 수 있도록 합시다.

참고: Python logging 모듈 공식 문서