Compartilhe que você está se especializando

O Veeam é uma solução robusta e amplamente utilizada, que vai muito além do backup e recuperação de dados, mas ele se trata da proteção e integridade das informações.

Além disso, o Veeam permite que scripts pós-execução de tarefas de backup sejam configurados. Isso é particularmente útil para integrar ações adicionais após a conclusão de um backup. Contudo, em alguns cenários específicos pode ser necessário executar uma rotina extra somente para um dos servidores. Uma das vantagens de utilizar o Veeam com o PowerShell é permitir a execução de comandos diretamente no Veeam Backup & Replication, o que significa que é possível integrar a execução de backups com outras rotinas administrativas de TI ou com eventos específicos.

Alguns exemplos de automações que poderiam ser feitas:

  • No servidor de arquivos, consultar se o backup foi feito com sucesso antes de gerar relatórios FSRM (File Server Resource Manager) sobre arquivose realizar a eliminação dos arquivos mais antigos ou duplicados, que já foram protegidos no backup;
  • Executar uma rotina de “pausa” em algum ambiente (como um banco de dados) e pedir ao Veeam que faça um Snapshot desse volume diretamente no Storage;
  • Executar um snapshot de uma VM, antes de executar uma rotina de atualização de dados (como atualização de versão do sistemas).

A implementação de scripts no PowerShell para este tipo de automação torna-se vantajosa. Com um simples script é possível criar interações entre o Veeam e outras ferramentas e sistemas. A personalização da automação por meio do PowerShell não só otimiza os processos de backup, com isso é possível garantir uma gestão de backup mais inteligente, ágil e segura, permitindo maior foco nas atividades estratégicas de TI.

Porque não executar scripts pós-backup, diretamente no Veeam?

Executar um script pré rotina de backup ou pós backup, diretamente no Veeam, é uma ótima opção para vários problemas. Mas nesse post vamos abordar a proposta contrária: Partir da necessidade de executar uma rotina no ambiente que, antes dessa rotina, desejamos alguma ação automática do Veeam.

Instalando o módulo de gerenciamento do Veeam

No seu servidor, vá na instalação do Veeam e instale o Veeam Backup & Replication Console (a própria instalação irá lhe permitir instalar alguns pré requisitos, se for necessário), se possível reinicie o servidor ao final da instalação. Depois de instalar, abra a console gráfica e tente se conectar ao servidor Veeam, para se certificar que tem acesso (tanto o usuário tenha permissão no Veeam, quanto liberação de acesso no firewall).

Tendo o ambiente corretamente configurado, abra o PowerShell (sugerimos abrir como admin, para garantir a integração com o FSRM, que usaremos nos exemplos de automação aqui).

Exemplo de script – Consultar o status de um job “backup to tape” full

Abordado em nosso primeiro exemplo, para um script que verifique se o último “backup to tape” full foi feito com sucesso, para em seguida um script poder executar uma limpeza de arquivos, seria o seguinte script:

#------- VARIAVEIS DE AMBIENTE (ALTERE CONFORME SUA NECESSIDADE) -------
$VEEAM_SERVER = "10.1.1.1"
$BackupedServer = $env:COMPUTERNAME
#------- CONECTA NO SERVIDOR VEEAM -------
Import-Module Veeam.Backup.PowerShell
Connect-VBRServer -Server $VEEAM_SERVER
#------- OBTEM DADOS DO BACKUP TO TAPE -------
$job = Get-VBRTapeJob | Where-Object enabled -eq $true
$FullBackupDayWeeks = $job.FullBackupPolicy.DailyOptions.DayOfWeek
#------- VERIFICA SE O ULTIMO BACKUP FULL FOI FEITO -------
if ($FullBackupDayWeeks -ne "") {
    $today = Get-Date
    $LastFullBackupDate = $today.AddDays(-1)
    $WeekDayCount = 0
        while ($FullBackupDayWeeks -notcontains $LastFullBackupDate.DayOfWeek)
        {
            $LastFullBackupDate = $LastFullBackupDate.AddDays(-1)
        }
        $LastFullBackup = (Get-vbrsession -job $job | ?{$_.CreationTime -ge $LastFullBackupDate} | Sort CreationTime)[0]
        $FullBackupJobStatus = ((Get-VBRTaskSession -Session $LastFullBackup).Info | Where-Object ObjectName -eq $BackupedServer).Status
        If ( $FullBackupJobStatus -eq "Success"){ $ThereIsAFullBackup = $true }
}
#------- DESCONECTA DO SERVIDOR VEEAM -------
Disconnect-VBRServer
#------- INICIO DO SCRIPT DE LIMPEZA -------
if($ThereIsAFullBackup -eq $true) {
    #INSIRA AQUI SEU SCRIPT DE LIMPEZA
}

Conclusão

Integrar o Veeam com o PowerShell oferece uma série de possíveis automações. No cenário apresentado, onde o servidor consultará apenas as informações sobre o backup, o PowerShell se torna essencial para garantir a execução condicional de determinadas ações, enquanto o Veeam permanece a plataforma central de backup e proteção dos dados, proporcionando mais tempo para os administradores de TI focarem no que realmente importa.

Fontes/Referências

https://helpcenter.veeam.com/docs/backup/powershell/connect-vbrserver.html?ver=120
https://helpcenter.veeam.com/docs/backup/powershell/getting_started.html?ver=120
https://helpcenter.veeam.com/docs/backup/powershell/using_get-vbrcommand.html?ver=120

Mais Informações

Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.

Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria
Categorias: POSTs