단순하지만 이 방법을 생각을 못했군요.
다른 분들에게도 참고가 될 거 같습니다.
출처 : http://blog.kldp.org/node/view/1365
MS 윈도우에서 백업 스크립트 만들기
Submitted by longman6 on Fri, 2003/12/12 - 3:33pm. 컴퓨터/인터넷
몇일 전부터 사무실에서 쓰는 컴이 이상하다.
불안 불안. 몇달을 진행한 소스가 날라가는 건 아닌지.
그래도 손으로 백업하긴 귀찮아 몇일을 미뤄두다가.
결국은 스크립트를 만들기로 했다.
다음을 만족시키는 스크립트
1. 압축해야 한다.
2. 특정 파일들은 백업에서 제외 시켜야 한다.
3. 일별로 백업 받아야 한다.
4. 특정일이 지난 백업 파일은 삭제해야 한다.
일단은 압축툴로 rar를 쓰기로 했다.. ( 아무리 찾아봐도 MS에선 이놈만한 압축 툴이 없는 거 같다. ) 이거 하나로 1번과 2번은 해결되었는데,
도무지 3번과 4번은, 곤란했다. 배치파일(.bat)로는 일자 처리가 안되고,
vbscript(.vbs)로는 rar를 실행 시킬수가 없었다. 그래서 두개 방법을 혼합해서
1. backup.bat
"C:Program FilesWinRAR
ar" a -x@exclude.txt 빅업파일 소스폴더
manageFile.vbs
2. exclude.txt ( rar에서 압축에서 제외 하는 파일 리스트)
*.exe
*.obj
.... 등등등
3. manageFile.vbs
sDirectoryName = "백업프로젝트" ' 작업 디렉토리
sProjectName = "프로젝트명" ' 프로젝트명 , 접두사
dtNow = Now()
sSourceFile = sDirectoryName & sProjectName & ".rar" ' 소스 파일명
sTargetFile = sDirectoryName & sProjectName & "_" & DatePart("yyyy", dtNow) & "_" & DatePart("m", dtNow) & "_" & DatePart("d", dtNow) & ".rar" ' 대상 파일명
Set fso = CreateObject("Scripting.FileSystemObject")
' 소스 파일을 대상 파일로 Move!!!!!!!!
If fso.FileExists(sSourceFile) Then
fso.MoveFile sSourceFile , sTargetFile
End If
' 작업 디렉토리의 일주일 이상된 파일들은 삭제한다.
Set folder = fso.GetFolder(sDirectoryName)
Set Files = Folder.Files
If Files.Count 0 Then
For Each File In Files
fileCreateDate = CDate(File.DateLastModified)
If DateDiff("d", fileCreateDate, dtNow) > 6 Then
MsgBox(fileCreateDate)
End If
Next
End If
Set Files = Nothing
Set folder = Nothing
Set fso = Nothing
이렇게 작성후 MS 윈도우의 예약 작업에 등록했다.
휴~~~~~~유
이보다 쉬운 방법이 있을까? ㅡㅡ;
쩝..
날짜: 2003-12-16 13:56:59,
조회수: 4234 |