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.

Foto01

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

Foto02

  • 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.

Foto03

  • 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

Foto04

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

Foto05

Foto06

Foto07

Foto08

Foto09

 

Clique em OK e repita os mesmos passos para criar uma tarefa para limpar os backups.

Foto10

Sua pasta ficara assim quando realizar o primeiro backup

Foto11

 

Este artigo foi escrito pelo Diego Pereira, caso você queira um artigo publicado ou um artigo sobre um tema, mande para nós.