본문 바로가기
PYTHON/고급학습

고급 6편] 파이썬으로 자동 백업 스크립트 만들기.zip

by Kim.Sung 2025. 5. 18.

중요한 작업을 계속 덮어쓰다 보면  
어느 순간 '예전 버전으로 돌아가고 싶다'는 순간이 생깁니다.  
그래서 이번 편에서는 파이썬으로  
**날짜를 기준으로 폴더나 파일을 자동 백업하는 스크립트**를 만들어봅니다.


매일 실행되도록 작업 스케줄러에 연결하면  
자동으로 버전별 백업이 쌓이는 구조를 완성할 수 있습니다.

📁 백업 대상 예시

- 업무 문서가 들어 있는 폴더  
- 실험 결과 텍스트 파일  
- 개인 일지, 블로그 원고, 사진 모음 등

🎯 기본 흐름

1. 원본 폴더/파일 경로 지정  
2. 오늘 날짜 기준 폴더명 생성  
3. 복사본 생성  
4. 이미 존재하면 패스 또는 이름 변경

🧠 예시 설정

- 원본: `C:/Users/me/Documents/Project`  
- 백업: `C:/Backup/Project_2024-05-17`

🐍 파이썬 코드 예시

```python
import os
import shutil
from datetime import datetime

# 설정
source_path = r'C:\Users\me\Documents\Project'
backup_root = r'C:\Backup'

# 날짜 기반 폴더명
today = datetime.now().strftime('%Y-%m-%d')
backup_path = os.path.join(backup_root, f'Project_{today}')

# 백업 수행
if not os.path.exists(backup_path):
    shutil.copytree(source_path, backup_path)
    print(f'✅ 백업 완료: {backup_path}')
else:
    print(f'⚠️ 오늘 백업은 이미 존재합니다.')
```

📌 스케줄러에 연결하는 방법

- Windows: 작업 스케줄러에 `.py` 또는 `.bat` 등록  
- Mac/Linux: `crontab` 등록  
- 실행 시간: 매일 새벽 1시처럼 지정 가능

🧩 응용 가능

- 백업 횟수 제한 및 오래된 백업 자동 삭제  
- 날짜 + 시간까지 붙여서 하루 2~3회 백업  
- USB/외장하드 연결 시 자동 백업 트리거  
- 오류 발생 시 텔레그램 알림 연동

정기적인 백업은 '나중에'보다  
'지금'이 훨씬 빠르고 간단합니다.  
자동화 한 줄이면 데이터 손실 걱정이 훨씬 줄어듭니다.