Artigo: 941330 - Última revisão: segunda-feira, 16 de Junho de 2008 - Revisão: 2.2

Como automatizar a eliminação de cópias de segurança no SharePoint Server 2007 e no Windows SharePoint Services 3.0 utilizando um script do Visual Basic

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

INTRODUÇÃO

Este artigo descreve como automatizar a eliminação de cópias de segurança no Microsoft Office SharePoint Server 2007 e no Windows SharePoint Services 3.0 utilizando um script do Microsoft Visual Basic. Este artigo contém um exemplo de script do Visual Basic que elimina cópias de segurança que são mais do que um determinado número de dias.

Mais Informação

Cópias de segurança devem ter uma política de retenção configuráveis. Exemplos de políticas de retenção são:
  • Cópias de segurança são eliminadas após um determinado número de dias.
  • O número de cópias de segurança que são mantidas é limitado.
Pode também manualmente eliminar cópias de segurança. No entanto, eliminar manualmente as cópias de segurança não limpe o ficheiro de manifesto (Spbrtoc.xml) correctamente. Para resolver este problema, utilize um script para eliminar cópias de segurança.

Nota Tem de ter permissões suficientes para efectuar este procedimento. Normalmente, a eliminação de cópias de segurança deve ser efectuada por um membro do grupo Administradores Local no computador que contém a pasta partilhada para as cópias de segurança. Em qualquer dos casos, a pessoa que executa o script tem de ter de leitura permissões, permissões de escrita e eliminação permissões para a pasta partilhada para as cópias de segurança e os ficheiros de cópia de segurança que estão a ser eliminado.

aviso Utilização do código deste artigo é da responsabilidade do utilizador.

Microsoft fornece exemplos de programação ilustração só, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas.
Se dispõe de limitada experiência de programação, poderá contactar um Microsoft Certified Partner ou a serviços de aviso. Para obter mais informações, visite estes Web sites da Microsoft:

Microsoft certificado Partner - https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)

Serviços Microsoft aviso - http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

Se dispõe de limitada experiência de programação, poderá pretender contactar um Microsoft Certified Partner ou a Microsoft mediante consultar linha (800) 936-Microsoft. Para obter mais informações sobre Microsoft Certified Partners, visite o seguinte Web site da Microsoft:
https://partner.microsoft.com/40011340 (https://partner.microsoft.com/40011340)
Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

Script de exemplo

O exemplo seguinte script do Visual Basic automatiza a eliminação de cópias de segurança. Este script, cópias de segurança que são mais do que um determinado número de dias são eliminadas.
'       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.")

Referências

Para mais informações sobre como efectuar cópias de segurança de dados e restaurar dados utilizando o site Web de administração central do Microsoft SharePoint, visite o seguinte Web site da 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)

A informação contida neste artigo aplica-se a:
  • Microsoft Office SharePoint Server 2007
  • Microsoft Windows SharePoint Services 3.0
Palavras-chave: 
kbmt kbhowto kbinfo kbexpertiseinter KB941330 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 941330  (http://support.microsoft.com/kb/941330/en-us/ )