우선 매일 D:\BACKUP\DailyBackup\날짜 디렉토리로 특정 날짜의 디렉토리가 누적 생성이 되며
각 DB 서버에서 SSIS 를 이용 하여 D:\BACKUP\DailyBackup 디렉토리로 파일이 전송 된다.
이렇게 모인 모든 데이터중 일 데이터만 백업을 하기 위해서
D:\TapeBackUp\날짜 디렉토리를 생성하여
그 날짜 데이터만을 복사 하여 일 데이터만 가지고 있게 구현 하여 보았다.
Option Explicit
On Error Resume Next
Dim objFSO
Dim TempFolder
Dim strPath
Dim SubDir
Dim sd
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject") #파일 관련 비베 객체 생성
TempFolder = "D:\TapeBackUp" #하루치 데이터만 가지고 있을 폴더 정의
objFSO.DeleteFolder TempFolder #전날에 데이터를 지우기 위해 TempFolder 삭제
objFSO.CreateFolder TempFolder #금일 데이터를 복사 하기 위한 TempFolder 생성
if Month(Now) < 10 then
if Day(Now) < 10 then
TempFolder = "D:\TapeBackUp\" & Year(Now) & "-0" & Month(Now) & "-0" & Day(Now)
strPath = "D:\BACKUP\DailyBackup\BAK_" & Year(Now) & "0" & Month(Now) & "0" & Day(Now)
else
TempFolder = "D:\TapeBackUp\" & Year(Now) & "-0" & Month(Now) & "-" & Day(Now)
strPath = "D:\BACKUP\DailyBackup\BAK_" & Year(Now) & "0" & Month(Now) & Day(Now)
end if
else
if Day(Now) < 10 then
TempFolder = "D:\TapeBackUp\" & Year(Now) & "-" & Month(Now) & "-0" & Day(Now)
strPath = "D:\BACKUP\DailyBackup\BAK_" & Year(Now) & Month(Now) & "0" & Day(Now)
else
TempFolder = "D:\TapeBackUp\" & Year(Now) & "-" & Month(Now) & "-" & Day(Now)
strPath = "D:\BACKUP\DailyBackup\BAK_" & Year(Now) & Month(Now) & Day(Now)
end if
end if
objFSO.CreateFolder TempFolder #금일 데이터를 복사할 폴더 생성
Set SubDir = objFSO.GetFolder(strPath) #복사 대상 폴더 정의
For Each sd In SubDir.Files #복사 대상 폴더 하위의 파일을 배열로 정의
objFSO.CopyFile strPath & "\" & sd.name , TempFolder & "\", OverwriteExisting
Next
각 회사의 정책에 따라 다르겠지만... 매일매일 그날의 데이터만 테입 백업을 해야 한다면
이런식으로 데이터를 옮겨 D:\TapeBackUp 디렉토리를 테입백업 스케쥴러에 걸어 사용 한다면
하루치 데이터만 테입 백업을 할수 있게 된다.