Utilizando o Windows Server Backup pelo Powershell

Olá, pessoal, tudo bem?

Backup

Pensamentos e opiniões podem mudar radicalmente de um segundo para o outro. Nestes anos de experiência como profissional de TI já vi de tudo, quando o assunto e backup cada um tem a sua receita de bolo, uns fazem apenas um backup, o que é arriscado demais, outros dois backups, mas nunca testou o backup, o outro tem três backups sendo feito, mais apenas chegou a testar apenas um, fato é que se você faz o backup, mas não testa nenhum backup e como você não tivesse nenhum backup. Isso porque já vi backup falhar na “hora do vamos ver”. Mas essa falta de cuidado com backup é bem normal. A gente só lembra do backup na hora que o “bicho pega”.

A ISO 27002 indica as boas práticas com backup, recomendo ler toda esta ISO para que você possa aplicar as boas práticas em seu ambiente de tecnologia da informação.

 

Ferramentas de Backup

O mercado de TI estar inundado de ferramentas que fazem backup, seja backup local ou em nuvem. Qualquer empresa, seja ela pequena, média ou grade utiliza alguma ferramenta de backup, pois a maioria dessas empresas possui o seu ambiente virtualizado, seja com Hype-V, VMWare ou outras soluções de virtualização.

O Veeam Backup & Replication da empresa Veeam chegou a mercado em 2008, virou referência como a base do software de proteção de dados para virtualização de hardware.

Como a maioria das empresas no país são pequenas e médias, conforme informado pelo site do Sebrai.

O produto Veeam Backup & Replication é excelente, mas bastante caro para que uma pequena e média empresa consiga pagar. A fabricante Veeam tem um produto que se destaca para ambiente bem pequenos, o Veeam Backup & Replication Community Edition, mas é somente para ambiente bem pequeno, pois possui limitação em seu uso.

O Veeam Backup & Replication Community Edition atende as pequenas empresas, mas é as médias empresas, como ficam neste cenário?

Temos o Bacula, uma solução opem source muito boa, que funciona perfeitamente, mas bem complicado de configurar.

Ai sair a procura de uma solução que poderia atender tanto empresa pequenas quanto empresas de médio porte é que seja free.

Encontrei várias soluções como Cobian Backup (em particular acho horrível),

SyncBack Free (somente backup de arquivos e pastas, versão com mais recursos tem que pagar) e vários outras ferramentas de backup, mas a maioria somente para uso não comercial ou bastante limitada.

Então a única solução que encontre para ser utilizar em ambientes virtualizados com Hyper-V foi o Windows Server Backup.

 

WBADMIN

Já escrevi um artigo contando um pouco da história do Windows Server Backup e demostrando como receber notificações quando e backup e feito com sucesso e sem sucesso. Estar lá postado no portal Cooperati, aqui.

Todo aprendizado demostrado neste artigo pode ser complementado com os artigos Como receber notificações do Windows Server Backup, Como receber notificação do seu servidor no Microsoft Teams e Usando conta de serviço gerenciado de grupo (gMSA) para execução de tarefas no Agendador de Tarefas do Windows assim você tem os seus backups totalmente automatizado e monitorado.

Feito essas considerações, vamos falar sobre o wbadmin.exe que é um utilitário de backup introduzido no Windows Server 2008 é que está presente até no Windows Server 2022.

O utilitário substitui a ferramenta de linha de comando anterior do Microsoft Windows Backup, NTBackup, que foi incorporada ao Windows NT 4.0, Windows 2000, Windows XP e Windows Server 2003.

Ele pode ser acessado tanto por interface gráfica quanto por linha de comando, como demostrado abaixo.

wbadmin.exe no Windows Server 2019 Core

wbadmin.exe no Windows Server 2019 Core

wbadmin.exe no Windows Server 2019

wbadmin.exe no Windows Server 2019

 

O poder do Powershell junto com Windows Server Backup

Introduzido também no Windows Server 2008 vários cmdlet para permitir a automação do Windows Server Backup, bem mais completo que o wbadmin.exe os novos cmdlet permite configurações de backups muito mais bem elaborados e o melhor de tudo, executado no Powershell, então esqueça bom velhinho CMD (Prompt de Comando).

São 47 novos cmdlets introduzidos, todos pode ser visto aqui, na sua documentação.

Vou demostrar para vocês alguns comandos básicos do Powershell do Windows Server Backup, assim vocês podem começar a desenvolver os seus próprios scripts de backups.

Vamos começar instalando o Windows Server Backup pelo Powershell.

Instale o Windows Server Backup com o cmdlet abaixo.

 

Agora vamos aprender os comandos básicos do Windows Server Backup no Powershell.

 

Add-WBFileSpec

Primeiro vamos aprender a criar um backup de arquivos ou pastas.

O cmdlet New-WBPolicy cria um objeto de política de backup. O novo objeto de política de backup não contém informações sobre os volumes incluídos na política, os arquivos no backup, o destino do backup ou os horários agendados.

O cmdlet New-WBFileSpec cria um objeto WBFileSpec que contém uma especificação de arquivo de backup. Um objeto WBFileSpec define os itens que os itens que um backup inclui ou exclui. Você pode adicionar uma especificação de arquivo de backup a um objeto WBPolicy como fonte de backup.

Você pode usar esse cmdlet para incluir vários arquivos, pastas ou volumes. Especifique caminhos de volume usando letras de unidade de volume, pontos de montagem de volume ou nomes de volumes baseados em GUID. Se você usar um nome de volume baseado em GUID, verifique se ele termina com uma barra invertida (\). Você pode usar caracteres curinga (*) nos nomes dos arquivos para especificar um caminho para um arquivo ou para especificar um tipo de arquivo para incluir ou excluir.

Se você especificar um caminho para excluir do backup, esse caminho deverá fazer parte de uma especificação do arquivo de inclusão na política. Caso contrário, o backup ignorará o caminho da exclusão.

Este comando cria uma especificação de arquivo e adiciona o conteúdo da pasta “C:\Exemplo” a ela. Como o cmdlet não inclui o parâmetro NonRecursive, o backup inclui o conteúdo desta pasta e suas subpastas.

Este comando cria uma especificação de arquivo e adiciona o conteúdo da pasta “C:\Exemplo” a ela. Como o cmdlet inclui o parâmetro NonRecursive, o backup inclui o conteúdo desta pasta, mas não o conteúdo de suas subpastas.
Este comando cria uma especificação de arquivo de exclusão para arquivos MP3 na pasta “C:\Exemplo”O backup exclui os arquivos MP3 em “C:\Exemplo” e suas subpastas.
Para fazer o backup de apenas um arquivo específico execute o cmdlet abaixo.
Agora vamos especificar “os alvos”, os locais onde serão armazenados os backups.
Este cmdlet acima adiciona o local de armazenamento do backup na unidade D:\.

A pasta que vai ser o exemplo do nosso backup ficou assim:

Agora temos que adicionar mais dois comandos, que são:

Este cmdlet acima informa qual será o objeto do backup, neste exemplo será pasta Exemplo.

Este comando acima informa qual será o local do backup, neste exemplo será a unidade D:.

Depois de juntar todos os comandos, agora é hora de iniciar o backup, basta executar o cmdlet:

Então o script ficou assim:

No script demostrado acima estamos fazendo o backup completa da pasta C:\Exemplo e o seu backup sendo armazenado na unidade D:\, sendo este backup não agendado.

Para agendamento do backup e salvar essa política de backup retire a linha:

Adicione a seguinte linha:

Set-WBSchedule -Policy $Policy 09:00, 19:00 especifica qual será o horário do backup.

Set-WBPolicy -Policy $Policy salva a política de backup criada.

Observações:

O cmdlet New-WBPolicy cria um objeto de política de backup. O novo objeto de política de backup não contém informações sobre os volumes incluídos na política, os arquivos no backup, o destino do backup ou os horários agendados.

Para criar uma política para backups agendados, use o cmdlet Set-WBPolicy para definir quais itens incluir ou excluir nos backups, quando executar backups e onde armazenar backups. Para fazer um backup único das configurações de diretiva, use o cmdlet Start-WBBackup.

Infelizmente podemos criar somente uma política de backup com agendamento.

O Windows Server Backup não só faz somente backup de arquivos e pasta, possível fazer backup os seguintes itens:

cmdletsFunção
Add-WBSystemState Estado do Sistema
Add-WBBareMetalRecovery Backup bare metal
Add-WBVirtualMachineMáquinas virtuais do Hyper-V
Add-WBVolumeVolumes

 

Restauração

Já o processo de restauração e um pouco mais complicado e exige bastante atenção. No vídeo vou demostrar um “truque” de como executar o processo de restauração utilizando a interface gráfica até mesmo utilizando o Windows Server Core.

 

Restauração de arquivos e pastas

 

Start-WBFileRecovery

Vamos utilizar o mesmo backup executado anteriormente para a restauração, vamos restaurar um arquivo individualmente, será o arquivo 1.bmp que se encontra-se na pasta C:\Exemplo.

Começamos verificando as versões disponíveis dos backups executados.

Selecione a data e hora do backup que deseja restaurar o arquivo usando o parâmetro VersionId.

Agora basta iniciar a restauração do arquivo.
Um aviso será metido informando que a restauração será no local original.

Aguarde o processo de restauração.

Observação: Se o arquivo que deseja restaurar já existir no caminho ele será informado com outro nome, conforme demostrado na imagem abaixo.

Juntando todos os comandos o script de restauração de arquivo ficou assim:

Além de restaurar arquivos e pastas existe outros processos de restauração utilizando o Windows Server Backup, são eles:

cmdletsFunção
Start-WBSystemStateRecoveryRestaurando o estado do sistema Windows.

O estado do sistema Windows contém os componentes necessários para recuperar o sistema individual sem dados ou aplicativos. Acesso ao servidor, compartilhamentos de arquivos, Diretório Ativo, Serviços de Certificado, Clustering, Registro, DHCP e IIS são alguns componentes que estão incluídos no backup do estado do sistema. Ao recuperar um servidor inteiro para DR ou testes, o estado do sistema é um componente-chave para o processo de recuperação. Será disponibilizado o script.

Start-WBApplicationRecoveryRestaurando dados do aplicativo.

Muitos aplicativos se registram no serviço de backup do Windows. Essas aplicações podem então ser apoiadas e restauradas independentemente do resto do sistema. Active Directory, Registro do sistema e Hyper-V são exemplos de alguns dos serviços incorporados que suportam esse recurso. Aplicativos adicionais da Microsoft e fornecedores de terceiros também podem utilizar esse recurso.
Dependendo dos aplicativos instalados quando os backups ocorrerem, diferentes aplicativos estarão disponíveis para restauração.

Será disponibilizado o script.

Start-WBHyperVRecoveryRestaurando dados do Hyper-V.

Exclusivo para restauração de máquinas virtuais e componentes do Hyper-V.

Será disponibilizado o script.

Start-WBVolumeRecoveryRestaurando Volumes.

Restaura volumes.

Será disponibilizado o script.

Você ira de interessar pela restauração do máquinas virtuais, pois provavelmente será o mais utilizado.

O processo de restauração de máquinas virtuais do Hyper-V e pouco complicado e exige bastante atenção ao executar. O segredo de tudo está na numeração que se refere-se ao backup que desejamos restaurar e o seu conteúdo.

O primeiro passo e usar comando Get-WBBackupset para verificar os backups disponíveis.

O próximo passo e atribuir os backups a variável $myBackup.

Outro passo bastante importante que temos que ter bastante atenção com os números obtidos, caso o contrário, a probabilidade de errar é muito alta. “Agora vem o pulo do gato”.

Selecionamos o aplicativo com base na hora de execução do backup.

Agora outro “pulo do gato”, selecionar o aplicativo que deseja restaurar, ele também tem uma sequência numérica, vamos focar no backup número 3 que a versão do backup que desejo restaurar.

O aplicativo tem uma sequência, começa com 0 e assim sucessivamente, neste exemplo quero restaurar o HyperV VMTESTE1, então seu componente será 1, pois ele vem logo depois do componente HyperV VMTESTE.

Iniciamos a restauração da máquina virtual com o nome VMTESTE1 e a versão do dia e hora 07/08/2022 16:33:02.

Um aviso informando a restauração da máquina virtual para o local original será emitido, basta responder com a letra S (Sim) e tecla Enter.

Aguarde a finalização da restauração da máquina virtual.

Resultado do script de restauração de máquina virtual Hyper-V ficou assim:

 

GitHub

Todos os scripts apresentados no vídeo e no artigo estão disponíveis para downloads aqui.

 

Vídeo

No vídeo será demostrado de forma clara e objetiva como utilizar o Windows Server Backup pelo Powershell, serão demostrados vários exemplos de como fazer backup e restauração de máquinas virtuais, arquivos e pastas, volume sendo ele agendado ou não.

Referências

https://docs.microsoft.com/en-us/powershell/module/windowsserverbackup/?view=windowsserver2022-ps&WT.mc_id=WDIT-MVP-5003815

Share

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.