Python

[Python] 2. 파일 자동 백업 소프트웨어 만들기

Yoon 2022. 1. 10. 21:50

모듈화

스크립트를 작성하다보니 백업 기능을 수행하는 함수 안에 파일 복사나 메일 보내기 같은 기능들이

모든게 들어있다보니 지저분하다는 생각이 들어 기능을 수행하는 부분들을 나눠 모듈화를 진행하였다.

 

 

makeBackupDir() - 백업 디렉토리를 생성하는 함수

copyInBackupDir() - 백업 디렉토리에 백업 파일을 복사하는 함수

sendMailBackupFile() - 백업 파일을 나에게 메일을 보내는 함수

 

이렇게 핵심 역할을 하는 기능들을 나눠 모듈화를 하면 유지보수와 단위 테스트하기에 좋을 것이다.


사용성 확대

저번 포스팅에서 작성했던 스크립트에는 백업을 하기 위해 필요했던 값들을 하드코딩하여 정적으로 기능이 동작되게 작성했다면,

이번에는 사용자가 어디에 백업할 것이고 무엇을 백업할 것인지 입력을 받아 변수화하여 그 값들을 사용해 백업 기능이 동작되도록 작성하였다.

 

추가로 필요한 값들을 필수로 입력해야 백업 스케쥴러 기능이 동작하도록 유효성 검사 로직을 추가하였다.


함수 정리

 

makeBackupDir() - 백업 디렉토리를 생성하는 함수

 

copyInBackupDir() - 백업 디렉토리에 백업 파일을 복사하는 함수

이 함수의 문제

46LINE - 백업할 파일의 이름을 txt확장자로 지정하여 txt확장자로만 백업되는 문제

48LINE - makeBackupDir함수에서 백업 디렉토리를 만들기 위해 os의 경로를 변경하였는데(36LINE)

그 경로 위치에 temp.txt 파일이 있어야지만 백업 파일을 복사 붙여넣기 할 수 있는 문제

 

 

sendMailBackupFile() - 백업 파일을 나에게 메일을 보내는 함수

이 함수의 문제

56LINE - 백업할 파일의 이름을 txt확장자로 지정하여 txt확장자로만 백업되는 문제

 

다음 포스팅에 이 문제들을 해결하여 이 스크립트를 더 동적으로 실행 시킬 수 있도록 작성할 것이다.