Backup de Máquina Virtual - XenServer
Publicado por Estevam Neto (última atualização em 03/03/2020)
[ Hits: 3.793 ]
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
Lisa - sistema de backup com rsync
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gravação de tela com temporizador
problema no debian que poderia ser corrigido por comando? (5)
Usar uma VM dentro do meu notebook como firewall para um dispositivo e... (0)
Eu tive esse erro aqui depois de de baixar o HyprLand Ubuntu na versão... (1)