[VBScript] 특정 파일을 Bzip2으로 압축 하고 백업 서버로 이동

매주 한번씩 생성 되는 DB백업 파일을 [압축 -> 백업 서버에 보관] 하는 반복 작업이 발생 하고 있어 해당 작업을 스크립트로 만들어 윈도우 작업 스케쥴로 자동화 시켜 보았습니다.


[동작 환경: WindowsServer2008 R2 Japanese]
[파일 실행: Windows Task Scheduler]
[파일 이름: LogDBFileArchive.vbs ]


' 아래부터 LogDBFileArchive.vbs 에 작성한 내용입니다.
' LogDB Archive & Remove
On Error Resume Next

Dim SetDate
Dim ArchiveDate, RemoveYear
Dim LogDBHost, SourcePatch
Dim BKDBHost, BackupPatch, BKFolder


Set WshShell = WScript.CreateObject("Wscript.Shell")
Set oFileSystem = CreateObject("Scripting.FileSystemObject")

'''''''''''''''''''''''''''''''''''''''''''''''''
LogDBHost = "호스트명1"
SourcePatch = "\\" & LogDBHost & "\D$\DB\SFTP\"
BKDBHost = "호스트명2"
BackupPatch = "\\" & BKDBHost & "\E$\"
'''''''''''''''''''''''''''''''''''''''''''''''''

' -*-*-*-*-*-*-*-*-*-*-*-*-
' Archive Date (-15일 설정으로 2주전 수요일에 만들어진 파일을 작업 합니다.)
SetDate = date()-15


' LogDB Archive : 호스트명1\D:\DB\SFTP\CR_Log-2018-01-31-03.bak
ArchiveDate = Right(Year(SetDate),4) & "-" & Right("00" & Month(SetDate),2) & "-" & Right("00" & Day(SetDate),2)
Return = WshShell.Run ("bzip2 -z --best " & SourcePatch & "CR_Log-" & ArchiveDate & "-03.bak",1,true)


' LogDB Move : 호스트명2\E:\CR_Log-xxxx\
RemoveYear = Right(Year(SetDate),4)
BKFolder = BackupPatch & "CR_Log-" & RemoveYear

strScrFile = SourcePatch & "CR_Log-" & ArchiveDate & "-03.bak.bz2"
strDstFile = BKFolder & "\"

if Not (oFileSystem.FolderExists(BKFolder)) Then
oFileSystem.CreateFolder(BKFolder)
oFileSystem.MoveFile strScrFile, strDstFile
else
oFileSystem.MoveFile strScrFile, strDstFile
End if

' -*-*-*-*-*-*-*-*-*-*-*-*-

Set WshShell = Nothing
Set oFileSystem = Nothing
' 위에까지가 LogDBFileArchive.vbs 에 작성한 내용입니다.






댓글