Backup de Máquina Virtual - XenServer
Publicado por Estevam Neto (última atualização em 03/03/2020)
[ Hits: 3.981 ]
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
rotate.sh - Rotaciona arquivos de acordo com a data
Backup de uma base MYSQL específica.
Backup da pasta de usuário em sistemas GNU/Linux sem copiar os arquivos ocultos
Nenhum comentário foi encontrado.
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
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









