Backup de Máquina Virtual - XenServer
Publicado por Estevam Neto (última atualização em 03/03/2020)
[ Hits: 4.004 ]
Download Script-BackupXenServer.sh
Script de Backup das máquinas virtuais do XenServer, o processo consiste em algumas etapas:
1) Criação de um servidor para armazenamento com SAMBA;
2) Instale o sSMTP para o envio dos LOGs confirmando qual o status do Backup;
3) Configure o sSMTP para enviar o e-mail via GMAIL;
4) Configure o agendamento com o Crontab, fazendo o backup uma vez por semana, aos domingos e enviando LOGs as segundas.
#!/bin/bash
#
# ::: SCRIPT DE BACKUP DE VMs XenServer :::
# ::: AUTOR: ESTEVAM NETO :::
# ::: VERSÃO: 1.0 :::
#
DATA=$(date +%d_%m_%Y)
DESTINO="/mnt/backup"
SERVER="xxx.xxx.xxx.xxx"
USERW="UsuarioCompartilhamento"
PASSW="SenhaUsuario"
#
# Removendo arquivo de Logs
rm -rf /home/*.txt
#
envio_sucesso () {
# Criando e-mail
echo "From: username@gmail.com" > /home/email.txt
echo "To: username@gmail.com" >> /home/email.txt
echo "Subject: LOG-SUCESSO-$DATA" >> /home/email.txt
echo "" >> /home/email.txt
}
#
envio_erro_comp () {
# Criando e-mail
echo "From: username@gmail.com" > /home/email.txt
echo "To: username@gmail.com" >> /home/email.txt
echo "Subject: LOG-ERROR-COMPARTILHAMENTO-$DATA" >> /home/email.txt
echo "" >> /home/email.txt
}
#
# Verificando a existencia da pasta do Backup
#
if [ -d $DESTINO ]
then
echo ""
else
mkdir -p $DESTINO
fi
#
mount -t cifs -o username=$USERW,passwoard=$PASSW //$SERVER/OVAs $DESTINO 2> /dev/null
if [ $? -eq 0 ] then;
for MAQUINA in $(xe vm-list is-control-domain=false is-a-snapshot=false | grep "uuid" | sed 's/uuid ( RO) : //g'); do
NOME_VM=$(xe vm-list uuid=$MAQUINA | grep "name" | sed 's/ name-label ( RW): //g')
SNAPSHOT_VM=$(xe vm-snapshot uuid=$MAQUINA new-name-label=$NOME_VM\_$DATA)
TEMPLATE_VM=$(xe template-param-set is-a-template=false ha-always-run=false uuid=$SNAPSHOT_VM)
EXPORTAR_VM=$(xe vm-export vm=$SNAPSHOT_VM filename=/mnt/backup/$NOME_VM\_$DATA.xva)
DEL_SNAP=$(xe vm-uninstall uuid=$SNAPSHOT_VM force=true)
echo "VM $NOME_VM copiada com Sucesso" >> /home/LOG_BACKUP_VM_$DATA.txt
done
envio_sucesso
echo "" >> /home/LOG_BACKUP_VM_$DATA.txt
cat /home/LOG_BACKUP_VM_$DATA.txt >> /home/email.txt
umount -l $DESTINO
else
envio_erro_comp
echo "Error ao montar o compartilhamento" > /home/LOG_BACKUP_VM_$DATA.txt
echo "" >> /home/LOG_BACKUP_VM_$DATA.txt
cat /home/LOG_BACKUP_VM_$DATA.txt >> /home/email.txt
umount -l $DESTINO
fi
umount -l $DESTINO
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# # # Configurando envio de e-mail # # #
1) Instale primeiro o sSMTP: sudo apt install ssmtp
2) Preserve o arquivo de configuração original: mv /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.old
3) Copiar e Colar a informações abaixo: nano /etc/ssmtp/ssmtp.conf
root=username@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=username@gmail.com
UseSTARTTLS=YES
AuthUser=username
AuthPass=password
FromLineOverride=YES
4) Preserve o arquivo de configuração original: mv /etc/ssmtp/revaliases /etc/ssmtp/revaliases.old
5) Copiar e Colar a informações abaixo: nano /etc/ssmtp/revaliases
root:username@gmail.com:smtp.gmail.com:587
localusername:username@gmail.com:smtp.gmail.com:587
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# # # Colocando no agendamento # # #
crontab -e
Pressione "i" para inserir a informação, copie e cole, depois pressione "esc"
0 23 * * 7 /home/backup.sh
0 5 * * 0 /usr/sbin/ssmtp username@gmail.com < /home/email.txt
para sair :wq
Fazendo backup durante a semana em pastas distintas, equivalentes ao dia da semana
weekly-backup - backup agendado
Backups automáticos de rádios Intelbras APC5
Backup de banco de dados MySQL
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Não consigo instalar distro antiga no virtualbox nem direto no hd (22)
Podem me chamar de 1mbecil :) [RESOLVIDO] (29)









