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.
