Neste post explicarei como agendar passo a passo um backup FULL do FARM.
Quando queremos fazer um backup do FARM, devemos acessar a Administração Central do Sharepoint e ir navegar na opção Backup e Restauração. Selecione a opção Executar um backup e marque todos os itens que desejar, ou selecione Farm para fazer o backup Full.
Porém fica uma tarefa manual e temos de executá-la todos os dias.
Para resolver este problema usaremos um comando PowerShell.
- Crie uma pasta no servidor onde pretende salvar o backup, compartilhe esta pasta com a sua conta de serviço responsável por realizar o backup, exemplo: SeuDomínio\ SP_FARM.
- Crie outra pasta para guardar os scripts de execução dos comandos PowerShell, não precisa compartilhar esta pasta.
- Salve o comando que realiza o backup em um bloco de notas com a extensão .ps1
Add-PsSnapin Microsoft.SharePoint.Powershell
Backup-SPFarm -Directory \\Nome do Servidor\Nome Pasta Backup -BackupMethod full
- Salve o commando que ira deletar backups com data maior que 3 dias ou quantos dias desejar.
# Location of spbrtoc.xml
$spbrtoc = \\Nome do Servidor\Nome Pasta Backup \spbrtoc.xml"
# Days of backup that will be remaining after backup cleanup.
$days = 3
# Import the Sharepoint backup report xml file
[xml]$sp = gc $spbrtoc
# Find the old backups in spbrtoc.xml
$old = $sp.SPBackupRestoreHistory.SPHistoryObject |
? { $_.SPStartTime -lt ((get-date).adddays(-$days)) }
if ($old -eq $Null) { write-host "No reports of backups older than $days days found in spbrtoc.xml.`nspbrtoc.xml isn’t changed and no files are removed.`n" ; break}
# Delete the old backups from the Sharepoint backup report xml file
$old | % { $sp.SPBackupRestoreHistory.RemoveChild($_) }
# Delete the physical folders in which the old backups were located
$old | % { Remove-Item $_.SPBackupDirectory -Recurse }
# Save the new Sharepoint backup report xml file
$sp.Save($spbrtoc)
Write-host "Backup(s) entries older than $days days are removed from spbrtoc.xml and harddisc."
O arquivo spbrtoc.xml sera criado dentro da pasta quando voce executar o backup do servidor.
A variável $days é para informar com quantos dias você deseja apagar seus backups.
- Vamos agora criar dois arquivos BAT para executar os dois arquivos criados.
- Para executar o backup
- powershell -command E:\BackupScripts\Scripts\Backup_Farm.ps1
- powershell -command E:\BackupScripts\Scripts\Clean_Bkp_Antigo.ps1
- OBS.: Informe o caminho onde salvou o arquivo .ps1
No exemplo criei 2 pastas uma para os arquivos PowerShell e outra para os arquivos .BAT
Feito isso basta agendar uma tarefa no Task Scheduler do Windows.
Abra o Task Scheduler, selecione onde deseja salvar os comandos ou crie uma nova pasta em: C:\Windows\System32\Tasks\Microsoft\Windows
Depois de criado crie uma nova tarefa
Clique em OK e repita os mesmos passos para criar uma tarefa para limpar os backups.
Sua pasta ficara assim quando realizar o primeiro backup
Este artigo foi escrito pelo Diego Pereira, caso você queira um artigo publicado ou um artigo sobre um tema, mande para nós.
Ótimo post,foi um achado esse tutorial.
abraços.
CurtirCurtir