Python/Python for Windows

[Python] xcopy DOS명령어를 조합한 증분 백업

Pydole 2018. 4. 20. 00:26

DOS명령어 xcopy를 이용한 폴더, 파일 증분백업

 

xcopy는 폴더와 파일 백업시 유용하게 사용하고, 이 글에서는 증분백업인 D옵션만 작성하였다.

 

 

  /D:m-d-y     지정된 날짜 이후에 바뀐 파일을 복사합니다. 날짜가 지정되지 않으면 대상 파일보다

                   새로운 원본 파일만 복사합니다.

 

 

 

- os.system : 실제 xcopy 명령어를 실행한다.

- datetime.timedelta를 이용하여 입력받은 날짜만큼 전날을 계산한다. 0을 입력하면 당일날짜이다.

 

 

파이썬(python)과 조합하게 되면 수동으로 백업할 수도 있고, 입력을 빼고 전일로 세팅하면 자동으로 일 단위 백업도 가능하다. 또한, 다양한 모듈을 이용하여 결과를 메일발송하거나 로깅도 가능하다.

 

 

import os
import datetime

inputDay = int(input('몇 일전 데이터부터 증분백업 하시겠습니까? : '))

bDay = str(datetime.datetime.now() - datetime.timedelta(days=inputDay))[:10]
bDayXcopyType = bDay[5:10]+'-'+bDay[:4]

originalPath = 'D:\\Originals\\'
backupPath = 'D:\\Backup\\'

command = 'xcopy %s* %s /D:%s /Y' %(originalPath,backupPath,bDayXcopyType)

print(command)

os.system(command)
몇 일전 데이터부터 증분백업 하시겠습니까? : 10
xcopy D:\Originals\* D:\Backup\ /D:04-10-2018 /Y
D:\Originals\test1.txt
D:\Originals\test2.txt
D:\Originals\test3.txt