文章編號: 941330 - 上次校閱: 2008年6月16日 - 版次: 2.2

如何使用 Visual Basic 指令碼,以自動化備份在 SharePoint Server 2007 和 Windows SharePoint 服務 3.0 中刪除

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

簡介

本文將告訴您,如何使用 Microsoft Visual Basic 指令碼,以自動化備份在 Microsoft Office SharePoint Server 2007 和 Windows SharePoint 服務 3.0 中刪除。本文包含範例刪除會高於特定數量的天舊的備份的 Visual Basic 指令碼。

其他相關資訊

備份應該有可設定的保留原則。 保留原則的範例如下所示:
  • 備份會經過特定天數之後刪除。
  • 會保留備份數目是有限的。
您可以手動刪除備份。不過,以手動方式刪除備份並不清潔資訊清單檔案 (Spbrtoc.xml) 正確。如果要解決這個問題,使用 [指令碼來刪除備份。

附註您必須有足夠的權限才能執行此程序。 通常,刪除備份應該由執行包含共用的資料夾的備份電腦上的 [本機系統管理員] 群組的成員。在任何情況下執行指令碼之人員必須有讀取權限、 寫入權限及刪除權限到共用的資料夾,以便備份並備份檔案會被刪除。

警告本文的程式碼的使用方式是,請自行負擔相關的風險。

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證,包括但不是限於適售性以及適合某特定用途之默示擔保責任。本文假設您已熟悉我們所示範的程式設計語言,以及用來建立和偵錯程序的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您的特定需求。
如果您有限制程式設計經驗,您可以連絡 Microsoft 認證合作夥伴或 Microsoft 諮詢服務。如需詳細資訊請造訪下列 Microsoft] 網站:

Microsoft 認證合作夥伴-https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)

Microsoft 摘要報告服務-http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

如需有關可用的支援選項,以及有關如何連絡 Microsoft 的詳細資訊,請造訪下列 Microsoft 網站: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

如果您有限制程式設計經驗,您可以連絡 Microsoft 認證合作夥伴或 Microsoft 付費諮詢一行 (800) 936-5200。如需有關 Microsoft Certified 協力廠商的詳細資訊,請造訪下列 Microsoft 網站]:
https://partner.microsoft.com/40011340 (https://partner.microsoft.com/40011340)
如需有關可用支援選項,以及有關如何連絡 Microsoft 的詳細資訊,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

範例指令碼

下列範例 Visual Basic 指令碼會自動執行備份刪除。在這個指令碼是一個以上的特定數目的天舊的備份會被刪除
'       Title: BackupCleanUp
' Description: Deletes SharePoint 2007 backups that are older than a specified 
'              number of days and then removes the backups from the backup history. 

Setlocale(1033)
Dim nNumberOfDays
Dim strTOCFile
Dim dtDeleteDate

Dim sTemp

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 the SharePoint backup and restore the 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 that are older than the deletion date.
For Each objNode in objXML.DocumentElement.ChildNodes
    If CDate(objNode.SelectSingleNode("SPFinishTime").Text) < dtDeleteDate Then
        If objNode.SelectSingleNode("SPIsBackup").Text = "True" Then
            
sTemp = mid(objNode.SelectSingleNode("SPBackupDirectory").Text,1,len(objNode.SelectSingleNode("SPBackupDirectory").Text)-1)

'objFS.DeleteFolder(mid(objNode.SelectSingleNode("SPBackupDirectory").Text),1,len(objNode.SelectSingleNode("SPBackupDirectory").Text)-1)
objFS.DeleteFolder sTemp




            objLog.WriteLine(Now() &vbTab& "Deleted: " &objNode.SelectSingleNode("SPBackupDirectory").Text& ".")
            objXML.DocumentElement.RemoveChild(objNode)
        End If     
    End If
Next

' Save the XML file with the old nodes removed.
objXML.Save(strTOCFile)
objLog.WriteLine(Now() &vbTab& "Finish: Completed backup clean up.")

?考

如需有關如何備份資料,以及如何使用 「 Microsoft SharePoint 中央系統管理網站來還原資料的詳細資訊,請造訪下列 Microsoft 網站:
http://technet2.microsoft.com/windowsserver/WSS/en/library/64171b8c-5608-4e69-881a-67996080b7ff1033.mspx (http://technet2.microsoft.com/windowsserver/WSS/en/library/64171b8c-5608-4e69-881a-67996080b7ff1033.mspx)

這篇文章中的資訊適用於:
  • Microsoft Office SharePoint Server 2007
  • Microsoft Windows SharePoint Services 3.0
關鍵字:?
kbmt kbhowto kbinfo kbexpertiseinter KB941330 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:941330? (http://support.microsoft.com/kb/941330/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。