' 圧縮ツールを使ってバックアップを取る ' ただし、N日前のバックアップファイルは削除する。 ' ' author Jomora(http://jomora.bne.jp/) ' version 2005.01.26 yyyyMMddからyyyyMMdd_hhmmssに変更 ' version 2005.01.03 圧縮ツールをjarに変更 ' version 2004.12.07 作成 ' バックアップ対象フォルダ targetFolder = "C:\inetpub" ' バックアップファイル保存フォルダ saveFolder = "D:\backup" ' n日前のファイルを削除する nDiff = 15 yyyyMMdd_hhmmss = year(now()) & right(100 + month(now()), 2) & right(100 + day(now()), 2) & "_" & right(100 + hour(now()), 2) & right(100 + minute(now()), 2) & right(100 + second(now()), 2) saveFilePath = saveFolder & "\Inetpub_" & yyyyMMdd_hhmmss & ".zip" ' バックアップ用コマンド strCommand = "jar cfM " & saveFilePath & " -C " & targetFolder & "/ ." 'strCommand = """C:\Program Files\LHMELT\LHMELT.EXE"" -a " & targetFolder & " -f" & saveFilePath & " -q -v-" WScript.Echo("command>" & strCommand) ' ログ出力関数 private sub PrintLog(lngType , strMessage, strDetail) WScript.Echo(strMessage & vbTab & strDetail) Call objShell.LogEvent(lngType, strMessage & vbTab & strDetail) end sub ' main関数 Set objShell = CreateObject("WScript.Shell") ' バックアップ処理実行 set objScriptExec = objShell.Exec(strCommand) ' 処理終了待ち lngProcessTime = 0 do while objScriptExec.Status = 0 WScript.Sleep(1000) lngProcessTime = lngProcessTime + 1 loop Set objFileSys = CreateObject("Scripting.FileSystemObject") Set objFolder = objFileSys.GetFolder(saveFolder) ' N日間以前のファイルを削除 WScript.Echo("以下のファイルを削除します。") For Each objFile In objFolder.Files If DateDiff("d", objFile.DateLastModified, Now) >= nDiff Then Wscript.Echo objFile.DateLastModified & vbTab & objFile.Path Call objFile.Delete End If Next ' 処理結果表示 if objScriptExec.ExitCode = 0 then Call PrintLog(0, "正常終了しました。", "処理時間:" & CStr(lngProcessTime) & "[sec]") WScript.Quit(0) else Call PrintLog(1, "エラー終了しました。","処理時間:" & CStr(lngProcessTime) & "[sec]") WScript.Quit(1) end if