Backup de Máquina Virtual - XenServer
Publicado por Estevam Neto (última atualização em 03/03/2020)
[ Hits: 3.549 ]
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
sync_local - backup/restauração local
Backup de diretórios do sistema Linux
Backup de Roteadores e Switches
BTRFS - Gerenciamento de snapshot por quantidade
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta