terça-feira, 30 de dezembro de 2008

SCRIPT DE BACKUP LINUX

Esse eh um script simples para backup. Ele esta bem explicativo e modestia a parte bem eficaz. achei interessante postar pois como eu, existem muitas pessoas ainda deficiente nessa area de script. Esse foi o meu primeiro que funcionou da forma que eu queria...
Espero ajudar os outros que sentem a msm dificuldade...

_____________________________________________
#!/bin/bash
#backup dos seguintes diretorios /etc /file_shared/administrativo /var/log
#Variareis
localorg1='/etc/'
localorg2='/var/log/'
localorg3='/file_shared/administrativo/'
localdest='/backup'
log='/var/log/backup.log'
data=$(date)

#Entrada do Backup
echo "_________INICIO do BACKUP________" >> $log
echo "$data" >> $log

# BACkUP ETC
while [ true ] ; do
echo "backup do diretorio /ETC" >> $log
echo
echo "excluindo backup anterior..." >> $log
rm $localdest/bkpetc.tgz
echo "Efetuando Empacotamento e Compactacao..." >> $log
tar czf $localdest/bkpetc.tgz $localorg1
if
echo "Efetuando teste no Arquivo..." >> $log
tar ztf $localdest/bkpetc.tgz >> /dev/null 2>&1; then
echo "Arquivo OK..." >> $log
ls -lah $localdest grep bkpetc.tgz >> $log
echo
echo
break

else
echo "erro no arquivo...compactando novamente" $localdest $data >> $log
echo
echo
continue
fi
done

echo "...backup geral realizado com sucesso..."
echo "backup geral realizado com sucesso..." $data >> $log

echo "_______FIM do BACKUP______" >> $log
______________________________________________


Simples nao?!

Para que as etapas sejam exibidas no terminal, é só criar mais uma saida de comando como;
echo "Empacotando e Compactando..." Essa saida ira ser exibida no terminal
echo "Empacotando e Compactando..." >>
$log Essa Saida será enviada para o LOG


Ai conforme a necessidade, coloque no agendamento do Cron. e Beleza. Você terá um backup automatizado e eficar.