Guest User

Untitled

a guest
Oct 4th, 2016
1,499
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.96 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Função: Script que gera snapshot das VMs ligadas e gera o disco no formato .xva
  4. # Autor: Túlio Barbosa (tulio.barbosa@perpart.pe.gov.br|tulio.rb@hotmail.com)
  5. # Data: 30/09/2016
  6. # Versão: 1.0
  7. # Requerimentos: Este script precisa ser executado no prompt de algum Servidor XEN
  8. # Bugs: --
  9. # Observações: Para incluir uma VM na rotina de backup, inclua o nome EXATO dela ao lado dos nomes das outras VMs separado por espaço.
  10. #
  11.  
  12. # Aqui é o começo do for, e vai ter a lista de todas as vms que passarão pelo processo de 'backup'.
  13. # Para adicionar outra(s) VM(s), coloque o nome exato dela como mostra no painel do Citrix, separado por espaços em branco.
  14. for VM in Centos_Geplanes
  15.   do
  16.  
  17. # Variável que pega APENAS o nome da VM, filtrando com o comando grep e pegando apenas a coluna 4
  18. NOME_VM=$(xe vm-list name-label="$VM" | grep -i name-label | awk '{print $4}')
  19.  
  20. # Variável que pega APENAS o UUID da VM, filtrando com o comando grep e pegando apenas a coluna 5
  21. UUID_VM=$(xe vm-list name-label="$VM" | grep -i uuid | awk '{print $5}')
  22.  
  23. # Variável que pega pega APENAS o UUID do SNAPSHOT já criado da VM, dando ao snapshot o mesmo nome da VM
  24. SNAP_ID=$(xe vm-snapshot uuid="$UUID_VM" new-name-label=$VM)
  25.    
  26.     # Comando que cria o snapshot da VM que tem um determinado UUID define o nome deste snapshot como o nome da própria VM
  27.     xe vm-snapshot uuid=$UUID_VM new-name-label=$NOME_VM
  28.    
  29.     # Comando que não sei explicar direito hahahahaha
  30.     xe template-param-set is-a-template=false ha-always-run=false uuid=$SNAP_ID
  31.  
  32.     # Comando que exporta o UUID para um local remoto e o transforma em um arquivo .xva, no meu caso está indo com data e hora
  33.     # formatados para saber de quando foi o backup
  34.     xe vm-export vm=$SNAP_ID filename=/var/run/sr-mount/5adf7b1b-194c-f3f2-fa98-784c6fb8aac5/backupvmtulio/${NOME_VM}_$(date +%d-%m-%Y).xva
  35.  
  36.     # Comando que desinstala/exclui o Snapshot que pertence a um determinado UUID
  37.     xe vm-uninstall uuid=$SNAP_ID force=true
  38.  
  39.   done
Add Comment
Please, Sign In to add comment