[python] 백업 작업에 대한 알림 설정하기

백업 작업을 수행하는 프로그램을 개발하고 있다면, 백업 작업 완료 여부에 대한 알림 설정은 매우 유용할 수 있습니다. 이 글에서는 Python을 사용하여 백업 작업에 대한 알림 설정하는 방법을 알아보겠습니다.

필요한 패키지 설치하기

알림을 보내기 위해 먼저 필요한 패키지를 설치해야 합니다. 이를 위해 smtplib를 사용하겠습니다. smtplib는 이메일을 보낼 수 있는 기능을 제공합니다.

pip install secure-smtplib

이메일 설정하기

알림을 보내기 위해 이메일 계정을 설정해야 합니다. 이메일 호스트, 포트번호, 보안 설정 등을 확인해야 합니다. 예를 들어, Gmail을 사용한다면 다음과 같은 설정을 사용할 수 있습니다.

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'your_email@gmail.com'
EMAIL_HOST_PASSWORD = 'your_password'

알림 메일 보내기

이제 백업 작업이 완료된 후 알림 메일을 보내는 함수를 작성합니다. 이 함수에서는 smtplib를 사용하여 이메일을 보냅니다.

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header

def send_notification_email(subject, message, from_email, to_emails):
    msg = MIMEMultipart()
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = from_email
    msg['To'] = ','.join(to_emails)
    msg.attach(MIMEText(message))

    try:
        server = smtplib.SMTP(EMAIL_HOST, EMAIL_PORT)
        server.ehlo()
        server.starttls()
        server.login(EMAIL_HOST_USER, EMAIL_HOST_PASSWORD)
        server.sendmail(from_email, to_emails, msg.as_string())
        server.close()
        print("알림 메일이 성공적으로 전송되었습니다.")
    except Exception as e:
        print("알림 메일 전송 중 오류가 발생했습니다:", str(e))

백업 작업 완료 후 알림 설정하기

백업 작업이 완료된 후 알림을 보내기 위해, 작업이 완료된 부분 아래에 다음과 같은 코드를 추가합니다.

subject = "백업 작업이 완료되었습니다."
message = "백업이 성공적으로 완료되었습니다."
from_email = 'your_email@gmail.com'
to_emails = ['recipient1@example.com', 'recipient2@example.com']

send_notification_email(subject, message, from_email, to_emails)

위의 코드에서 subject, message, from_email, to_emails 변수를 알맞게 수정해야 합니다. subject는 알림 메일의 제목, message는 알림 메일의 내용, from_email은 보내는 이메일 주소, to_emails는 받는 이메일 주소들을 나타냅니다.

결론

Python을 사용하여 백업 작업에 대한 알림 설정을 구현하는 방법에 대해 알아보았습니다. 알림 설정을 통해 백업 작업의 완료 여부를 실시간으로 확인하고, 필요시 적절한 조치를 취할 수 있습니다.

참고: https://docs.python.org/3/library/smtplib.html