본문 바로가기

카테고리 없음

파이썬으로 폴더 자동 백업 프로그램 만들기 초보자도 가능한 간단 예제

반응형

파이썬으로 폴더 자동 백업 프로그램 만들기 초보자도 가능한 간단 예제

 

중요한 파일을 정리하다 보면 "혹시 모르니까 백업해 둘걸..." 하는 순간이 생기곤 합니다. 특히 업무 문서나 사진, 코딩 프로젝트처럼 소중한 데이터는 정기적으로 백업하는 것이 필수입니다. 오늘은 파이썬 초보자도 1시간 안에 완성할 수 있는 폴더 자동 백업 프로그램 만들기를 소개합니다.

폴더 자동 백업 프로그램이란?

폴더 자동 백업 프로그램은 원하는 폴더를 지정한 경로로 복사하여 저장하는 스크립트입니다. 수동으로 일일이 복사할 필요 없이, 프로그램을 실행하면 최신 상태로 백업을 만들어줍니다.

특히 다음과 같은 상황에서 매우 유용합니다.

  • 작업 중인 문서, 코드 파일 주기적 백업
  • 사진, 영상 파일 이중 저장
  • 학교 과제나 업무 자료 안전 보관

파이썬으로 백업 프로그램 만드는 방법

백업 프로그램은 shutildatetime 모듈을 이용해 쉽게 만들 수 있습니다.

필요한 모듈

  • shutil : 파일 및 폴더 복사 기능 제공
  • datetime : 현재 시간 정보를 가져와 백업 폴더명에 적용

프로그램 작동 흐름

  1. 원본 폴더 경로 설정
  2. 백업 폴더 경로 설정 (현재 시간 포함)
  3. 원본 폴더를 백업 폴더로 복사

폴더 백업 프로그램 코드 예제

import shutil
import datetime
import os

# 원본 폴더 경로
source_folder = './work_folder'

# 백업을 저장할 경로
backup_root = './backup'

# 현재 날짜와 시간을 이용한 폴더명 생성
now = datetime.datetime.now()
backup_folder_name = now.strftime('%Y%m%d_%H%M%S')
backup_folder_path = os.path.join(backup_root, backup_folder_name)

# 폴더 복사 실행
shutil.copytree(source_folder, backup_folder_path)

print(f'백업 완료: {backup_folder_path}')

코드 설명

  • source_folder : 백업할 원본 폴더입니다.
  • backup_root : 백업 파일을 저장할 기본 경로입니다.
  • backup_folder_name : 현재 시간으로 폴더 이름을 만들어 매번 새로운 백업 폴더를 생성합니다.
  • shutil.copytree : 폴더 전체를 복사하는 명령어입니다.

폴더 자동 백업 프로그램 활용 예시

1. 매일 문서 폴더 백업하기

매일 오후 6시에 작업 폴더를 자동으로 백업해 두면, 실수로 파일을 삭제해도 쉽게 복구할 수 있습니다.

2. 사진 정리용 이중 저장

촬영한 사진 파일을 자동으로 외장하드나 클라우드 폴더로 복제하는 데 활용할 수 있습니다.

3. 코드 프로젝트 버전 관리

개발 중인 프로젝트를 매일 백업하여, 문제가 발생해도 언제든 이전 버전으로 돌아갈 수 있습니다.

조금 더 발전시키기 (심화)

기본 백업 프로그램을 완성한 후, 다음과 같이 확장할 수 있습니다.

  • 1. 주기적으로 자동 실행 : 윈도우 작업 스케줄러, 리눅스 크론(cron) 설정
  • 2. 압축 파일(.zip)로 저장 : shutil.make_archive 사용
  • 3. 특정 확장자만 백업 : 예를 들어 .docx, .xlsx 파일만 선택 복사

압축 백업 코드 예시

# 폴더를 zip 파일로 백업
shutil.make_archive(backup_folder_path, 'zip', source_folder)
print(f'압축 백업 완료: {backup_folder_path}.zip')

이렇게 하면 백업 파일 용량도 줄이고 관리도 훨씬 쉬워집니다.

마치며

파이썬 초보자도 어렵지 않게 만들 수 있는 폴더 자동 백업 프로그램을 소개했습니다. 이 프로그램 하나만 있으면, 소중한 파일을 안전하게 보관할 수 있어 업무 효율도 높아지고, 데이터 유실 걱정도 크게 줄어듭니다.

처음에는 기본 버전부터 만들고, 이후 다양한 기능을 추가해 나간다면, 파이썬 실력도 자연스럽게 향상될 것입니다. 직접 프로그램을 만들어 백업의 습관을 만들어 보세요!

반응형