Descobri o erro,
Por causa do acento em temporário o script não rodava, ficando assim :
#!/bin/bash
# Script para backup a quente das vm's do XenServer
# E-tab Tecnologia -
[email protected]
# O funcionamento do script é simples. Ele cria um snapshot, converte para template e remove o snapshot
# O envio de emails depende do SendEmail baixe de
http://caspian.dotconf.net/menu/Software/SendEmail/
# Jamais rode este script antes de testar seu funcionamento em um host de homologação antes
# Editado por Tácio Andrade:
# Modificação 01: Remoção de backups antigos, para isso altere a variável "DIASARMAZENAMENTOBACKUP"
# abaixo para a quantidade de dias que deseja manter os backups.
# Modificação 02: Agora ela não faz o backup de todas as VMs rodando, ela faz o backup das que tiverem
# o nome no arquivo /tmp/VMsParaBackup. Para atualizar o arquivo com o nome de todas as VMs
# rodando no momento (e depois remover as que não deseja backup), rode o comando:
# xe vm-list power-state=running|grep name-label| grep -v "Control domain on host:" | sed 's/ name-label ( RW): //g' > /tmp/VMsParaBackup
PATH=/opt/xensource/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export PATH
BACKDATE=`date +%d-%m-%Y`
# Configurações para o envio de emails
REMETENTE="
[email protected]"
ADMIN="
[email protected]"
ASSUNTO="XENSERVER - Backup concluido no host $HOSTNAME no dia $BACKDATE"
SMTP="smtp.gmail.com:587"
USUARIO="
[email protected]"
SENHA="senhadomail"
DIASARMAZENAMENTOBACKUP=7
# Defina aqui o diretório onde serão salvos os backups
BACKDIR=/mnt/backup/$BACKDATE/$HOSTNAME
echo -e "Resumo das ações realizadas em $HOSTNAME \n" > /tmp/xen_back.mail
if [ -d $BACKDIR ]
then
echo "Diretório de backup já existe"
echo "$BACKDIR Exists" >> /tmp/xen_back.mail
else
echo "Diretório de backup não existe, criando agora."
echo "$BACKDIR não existe, criando agora" >> /tmp/xen_back.mail
mkdir -p $BACKDIR
fi
#echo "Gerando lista das VMs rodando no Host"
#xe vm-list power-state=running|grep name-label| grep -v "Control domain on host:" | sed 's/ name-label ( RW): //g' > /tmp/VMsParaBackup
echo -e "\n Gerando lista das VMs a seren backupeadas" >> /tmp/xen_back.mail
cat /tmp/VMsParaBackup >> /tmp/xen_back.mail
if [ $? -eq 0 ]
then
echo -e "Listagem das VMs concluida com sucesso \n"
echo -e "Listagem das VMs concluida com sucesso \n" >> /tmp/xen_back.mail
else
echo -e "Ocorreu um erro ao obter listagem do Host \n"
echo -e "Ocorreu um erro ao obter listagem do Host \n" >> /tmp/xen_back.mail
fi
VMLIST=`cat /tmp/VMsParaBackup | wc -l`
COUNT=0
until [ $VMLIST = $COUNT ]
do
COUNT=`expr $COUNT + 1`
VM=`gawk FNR==$COUNT /tmp/VMsParaBackup`
echo "Criando snapshot de $VM"
echo "Criando snapshot de $VM" >> /tmp/xen_back.mail
SNAPSHOT=`xe vm-snapshot vm="$VM" new-name-label="$VM-$BACKDATE" new-name-description="Snapshot Temporario" `
if [ $? -eq 0 ]
then
echo -e "Snapshot da vm $VM criado com sucesso \n"
echo -e "Snapshot da vm $VM criado com sucesso \n" >> /tmp/xen_back.mail
else
echo -e "Ocorreu um erro ao tentar fazer snapshot da vm $VM \n"
echo -e "Ocorreu um erro ao tentar fazer snapshot da vm $VM \n" >> /tmp/xen_back.mail
fi
echo "Convertendo o snapshot $SNAPSHOT da vm $VM para Template"
echo "Convertendo o snapshot $SNAPSHOT da vm $VM para Template" >> /tmp/xen_back.mail
xe template-param-set is-a-template=false uuid=$SNAPSHOT
if [ $? -eq 0 ]
then
echo -e "Conversão do snapshot $SNAPSHOT da vm $VM realizado com sucesso \n"
echo -e "Conversão do snapshot $SNAPSHOT da vm $VM realizado com sucesso \n" >> /tmp/xen_back.mail
else
echo -e "Ocorreu um erro ao tentar converter o snapshot $SNAPSHOT da vm $VM em um Template \n"
echo -e "Ocorreu um erro ao tentar converter o snapshot $SNAPSHOT da vm $VM em um Template \n" >> /tmp/xen_back.mail
fi
echo "Exportando $SNAPSHOT da vm $VM"
echo "Exportando UUID=$SNAPSHOT" >> /tmp/xen_back.mail
xe vm-export vm=$SNAPSHOT filename=$BACKDIR/"$VM".xva compress=true
if [ $? -eq 0 ]
then
echo -e "Processo de conversão do snapshot $SNAPSHOT e backup da vm $VM finalizado com sucesso \n"
echo -e "Processo de conversão do snapshot $SNAPSHOT e backup da vm $VM finalizado com sucesso \n" >> /tmp/xen_back.mail
else
echo -e "Processo de conversão do snapshot $SNAPSHOT para backup da vm $VM não pode ser realizado \n"
echo -e "Processo de conversão do snapshot $SNAPSHOT para backup da vm $VM não pode ser realizado \n" >> /tmp/xen_back.mail
fi
echo "Removendo $SNAPSHOT da vm $VM"
echo "Removendo UUID=$SNAPSHOT">> /tmp/xen_back.mail
xe vm-uninstall uuid=$SNAPSHOT force=true
if [ $? -eq 0 ]
then
echo -e "Remoção do snapshot $SNAPSHOT da vm $VM ocorreu com sucesso \n"
echo -e "Remoção do snapshot $SNAPSHOT da vm $VM ocorreu com sucesso \n" >> /tmp/xen_back.mail
else
echo -e "Ocorreu um erro ao tentar remover $SNAPSHOT vinculado a vm $VM \n"
echo -e "Ocorreu um erro ao tentar remover $SNAPSHOT vinculado a vm $VM \n" >> /tmp/xen_back.mail
fi
echo -e "\n" >> /tmp/xen_back.mail
done
# Remove os backups antigos
ANTIGOS=$(find $BACKDIR/* -ctime +$DIASARMAZENAMENTOBACKUP)
echo -e "Os arquivos $ANTIGOS foram removidos" >> /tmp/xen_back.mail
rm -fr $ANTIGOS
/usr/local/bin/sendEmail -f $REMETENTE -t $ADMIN -u "$ASSUNTO" -o message-file="/tmp/xen_back.mail" -s $SMTP -xu $USUARIO -xp $SENHA
rm -rf /tmp/xen_back.mail
exit 0