백업 파일 정리(Office SharePoint Server 2007)

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2008-09-12

대부분의 데이터 저장 및 백업 보존 정책에 따라 오래되었거나 사용되지 않는 백업을 정기적으로 정리할 수 있습니다. 필요한 기간 동안 백업을 보존하는 것은 매우 중요합니다. 그러나 오래된 백업 파일을 정기적으로 제거하거나 보관하지 않으면 단기 백업 저장 장치가 곧 꽉 차게 됩니다. SharePoint 제품 및 기술에서는 자동화된 백업 제거 기능을 제공하지 않지만 간단한 스크립트를 구현하여 이 작업을 수행할 수 있습니다.

정기적인 백업 제거 구성

다음 절차에 포함된 예제 Microsoft Visual Basic 스크립트를 필요에 따라 사용 및 편집하여 다음을 수행할 수 있습니다.

  • 단일 명령을 사용하여 지정된 기간보다 오래된 백업 파일을 찾아 삭제합니다.

  • 백업 매니페스트 파일(spbrtoc.xml)을 업데이트하여 삭제된 파일의 레코드를 제거합니다.

  • 백업 제거 활동의 로그 파일을 만듭니다.

  • 작업 스케줄러와 함께 사용하여 사용되지 않는 백업 파일의 정기적인 제거를 자동화합니다.

경고

이 문서에 포함된 코드의 사용에 따른 위험은 사용자가 부담합니다.
Microsoft는 프로그래밍 예제를 설명 용도로만 제공하며 어떠한 명시적 또는 묵시적 보증도 하지 않습니다. 여기에는 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증이 포함되며 이에 제한되지 않습니다. 이 문서에서는 사용자가 시연에 사용되는 프로그래밍 언어와 프로시저를 만들고 디버그하는 데 사용되는 도구에 익숙하다고 가정합니다. Microsoft 지원 엔지니어가 특정 프로시저의 기능에 대한 설명을 도울 수는 있지만 이러한 예제를 편집하여 사용자의 특정 요구 사항에 맞는 프로시저를 작성하거나 추가 기능을 제공하지는 않습니다.
프로그래밍 경험이 많지 않은 경우에는 Microsoft Certified Partner 또는 Microsoft 유료 컨설팅 전화로 문의해 보십시오. Microsoft Certified Partner에 대한 자세한 내용은 Microsoft Partner Program 웹 사이트(https://go.microsoft.com/fwlink/?linkid=128105&clcid=0x412)를 참조하십시오.
사용할 수 있는 지원 옵션 및 Microsoft 문의 방법에 대한 자세한 내용은 Microsoft 도움말 및 지원 웹 사이트(https://go.microsoft.com/fwlink/?linkid=128109&clcid=0x412)를 참조하십시오.

이 작업을 수행하려면 다음 요구 사항을 충족해야 합니다.

  • Microsoft Visual Studio 2008(권장)과 같은 디버거 및 스크립트 편집기 또는 메모장과 같은 텍스트 편집기가 필요합니다.

  • 스크립트 언어 사용 경험이 있어야 합니다.

  • 네트워크에서 액세스할 수 있고 작동 중인 장치에 백업 파일이 저장되어 있어야 합니다.

  • 백업 파일을 유지해야 하는 기간을 지정하는 명확한 백업 보존 정책이 있어야 합니다.

중요

다음 절차를 완료하려면 최소한 로컬 컴퓨터에서 Administrators 그룹의 구성원이어야 합니다.

백업 제거 스크립트 작성

  1. 백업 제거 작업을 수행할 컴퓨터에 폴더를 만듭니다. 이 폴더에는 백업 제거 스크립트와 로그 파일이 포함됩니다.

  2. 스크립트 편집기를 시작하고 다음 코드 예제를 복사하여 편집 창에 붙여넣습니다.

    '       Title: BackupCleanUp
    ' Description: Deletes SharePoint 2007 backups older than a specified 
    '              number of days and removes them from the backup history. 
    
    Dim nNumberOfDays
    Dim strTOCFile
    Dim dtDeleteDate
    
    Set objXML = CreateObject("Microsoft.XMLDOM")
    Set objFS  = CreateObject("Scripting.FileSystemObject")
    Set objLog = objFS.OpenTextFile("BackupCleanUp.log",8,true)
    
    ' Validate Command Line Arguments and Initialize Data
    If WScript.Arguments.Count = 2 Then
        If IsNumeric(WScript.Arguments(0)) Then   
            nNumberOfDays = CInt(WScript.Arguments(0))
            dtDeleteDate = DateAdd("d",nNumberOfDays*-1,Now)
        Else
            WScript.Echo "<NumberOfDays> must be an integer value."
        End If
            strTOCFile = WScript.Arguments(1)
    Else
        WScript.Echo "Usage: BackupCleanUp <NumberOfDays> <PathToTOC>"
        WScript.Quit
    End If
    
    objLog.WriteLine(Now() &vbTab& "Start: Clean up backups older than " &nNumberOfDays& " days from " &strTOCFile& ".")
    
    ' Load SharePoint Backup and Restore TOC File
    objXML.Async = false
    objXML.Load(strTOCFile)
    
    If objXML.ParseError.ErrorCode <> 0 Then
        objLog.WriteLine(Now() &vbTab& "Error: Could not load the SharePoint Backup / Restore History." &vbCrLf&_
                         Now() &vbTab& "Reason: " &objXML.ParseError.Reason& ".") 
        WScript.Quit
    End If
    
    ' Delete Backup Nodes Older Than Deletion Date
    For Each objNode in objXML.DocumentElement.ChildNodes
        If CDate(objNode.SelectSingleNode("SPFinishTime").Text) < dtDeleteDate Then
            If objNode.SelectSingleNode("SPIsBackup").Text = "True" Then
                objFS.DeleteFolder(objNode.SelectSingleNode("SPBackupDirectory").Text)
                objLog.WriteLine(Now() &vbTab& "Deleted: " &objNode.SelectSingleNode("SPBackupDirectory").Text& ".")
                objXML.DocumentElement.RemoveChild(objNode)
            End If     
        End If
    Next
    
    ' Save XML File With Old Nodes Removed
    objXML.Save(strTOCFile)
    objLog.WriteLine(Now() &vbTab& "Finish: Completed backup clean up.")
    

    필요에 따라 네트워크, 장비, 보존 정책 또는 서비스 계약의 요구 사항에 맞게 스크립트를 편집할 수 있습니다.

  3. 앞에서 만든 폴더에 BackUpCleanUp.vbs로 파일을 저장합니다.

중요

다음 절차를 완료하려면 최소한 로컬 컴퓨터에서 Administrators 그룹의 구성원이어야 합니다.

백업 제거 스크립트 실행

  1. 명령 프롬프트에서 BackUpCleanUp.vbs 파일이 포함된 디렉터리로 변경합니다.

  2. 다음 명령을 입력하고 Enter 키를 누릅니다.

    Cscript.exe BackUpCleanUp.vbs <날짜 수> <\\서버 이름\폴더 이름>

    여기에서 *<날짜 수>*는 백업 파일을 유지할 최대 기간이고(이 기간보다 오래된 백업 파일은 BackUpCleanUp 스크립트에 의해 삭제됨) *<\\서버 이름\폴더 이름>*은 spbrtoc.xml 백업 매니페스트 파일의 경로입니다.

  3. 백업 파일 제거 프로세스의 문제를 해결하거나 진행 상황을 검토하려면 같은 폴더에 있는 BackUpCleanUp.log 파일을 엽니다.

중요

다음 절차를 완료하려면 최소한 로컬 컴퓨터에서 Administrators 그룹의 구성원이어야 합니다.

백업 제거 예약 또는 연기

  1. 예약 작업 마법사를 시작하고 예약 작업 추가를 두 번 클릭한 후 다음을 클릭합니다.

  2. 찾아보기를 클릭하고 %ROOT%\WINNT\System32\cscript.exe로 이동한 후 열기를 클릭합니다.

  3. 예를 들어 BackUpCleanUp과 같은 작업 이름을 입력합니다.

  4. 이 백업을 정기적으로 자동 수행하려면 매주 또는 매월과 같은 간격을 선택하고 다음을 클릭합니다. 이 백업을 한 번 수행하거나 단일 백업을 연기하려면 한 번만을 선택합니다.

  5. 작업의 시간과 시작 날짜를 선택하고 다음을 클릭합니다.

  6. 해당 상자에 사용자 이름과 암호를 입력하고 확인을 위해 암호를 한 번 더 입력한 후 다음을 클릭합니다. 이 작업은 해당 사용자가 시작한 것처럼 실행됩니다.

  7. [마침]을 클릭하면 이 작업의 고급 속성 열기를 선택하고 마침을 클릭합니다.

  8. 고급 속성 대화 상자의 작업 탭에 있는 실행 텍스트 상자에 다음 명령을 입력합니다.

    Cscript.exe BackUpCleanUp.vbs <날짜 수> <\\서버 이름\폴더 이름>

    여기에서 *<날짜 수>*는 백업 파일을 유지할 최대 기간이고(이 기간보다 오래된 백업 파일은 BackUpCleanUp 스크립트에 의해 삭제됨) *<\\서버 이름\폴더 이름>*은 spbrtoc.xml 백업 매니페스트 파일의 경로입니다.

  9. 시작 위치 텍스트 상자에 BackUpCleanUp.vbs 파일이 있는 폴더의 경로를 입력합니다.

  10. **사용(예약된 작업을 지정한 시간에 실행)**을 선택하고 로그온된 경우에만 실행 확인란의 선택을 취소합니다.

  11. 확인을 클릭합니다. 

참고 항목

개념

팜 백업 및 복원(Office SharePoint Server 2007)
전체 팜 백업 및 복원(Office SharePoint Server 2007)
기본 제공 도구를 사용하여 웹 응용 프로그램 백업 및 복원(Office SharePoint Server 2007)
기본 제공 도구를 사용하여 사이트 모음 백업 및 복원(Office SharePoint Server 2007)
데이터베이스 백업 및 복원(Office SharePoint Server)
SSP 백업 및 복원(Office SharePoint Server 2007)
SSO 백업 및 복원(Office SharePoint Server 2007)
기본 제공 도구를 사용하여 내 사이트 백업 및 복원(Office SharePoint Server 2007)
기본 제공 도구를 사용하여 InfoPath 양식 백업 및 복원(Office SharePoint Server 2007)
DPM을 사용하여 항목 백업 및 복원(Office SharePoint Server)
DPM을 사용하여 사이트 백업 및 복원(Office SharePoint Server)