Backup de dados

Publicado por Breno Morato Mesquita Sabella 12/08/2009

[ Hits: 6.529 ]

Homepage: http://bsabella.com.br

Download bck_fileserver.sh




Este script monta um backup incremental de segunda à sexta, e aos sábados gera um backup full. Salva os passos da compactação em LOG e calcula a média do tempo gasto para executar o processo.

  



Esconder código-fonte

#!/bin/bash
# Dados para compactação e trasnferência de arquivos
DIR_ORIG=/data
DIR_DEST=/data/
CONECTA=usuario@ip_do_servidor:/data/backup/fileserver
LOG=/data/backup/backup.log
DIA=`date +%u`

echo "Inicio...: `date +%d%m%Y_%H%M`" >> ${LOG}
HI=`date +%H`
MI=`date +%M`

# Compactação dos dados
echo "Compactando Dados de Origem" >> ${LOG}
if [ ${DIA} -lt 6 ]; then
   BKP_NAME=bkp_diario.tgz
   RESULTA=${DIR_DEST}${BKP_NAME}
   find ${DIR_ORIG} -mtime 0 -type f -print | tar -czpf ${RESULTA} ${DIR_ORIG}
   echo "Tipo.....: DIARIO" >> ${LOG} 
else 
   BKP_NAME=bkp_semanal.tgz
   RESULTA=${DIR_DEST}${BKP_NAME}
   tar -czpf ${RESULTA} ${DIR_ORIG}
   echo "Tipo.....: SEMANAL" >> ${LOG}
fi

# Transferindo backup para o servidor
echo "Transferindo Arquivo de Backup" >> ${LOG}
scp -rp ${RESULTA} ${CONECTA}

# Excluí Arquivo TAR
echo "Excluíndo Arquivo Temporário" >> ${LOG}
# rm -Rf ${DIR_DEST}${BKP_NAME}
rm -Rf ${RESULTA}

echo "Fim......: `date +%d%m%Y_%H%M`" >> ${LOG}

#Calcula Média do tempo de processo
HF=`date +%H`
MF=`date +%M`

if [ ${HI} -gt ${HF}  ]; then
   HM=$((24 - (${HI} - ${HF})))
else
   HM=$((${HF} - ${HI}))
fi
if [ ${MI} -gt ${MF} ]; then
   MM=$((60 - (${MI} - ${MF})))
else
   MM=$((${MF} - ${MI}))
fi

echo "Média....: "${HM}" horas "${MM}" minutos " >> ${LOG}
echo " " >> ${LOG}

# Transfere Log
scp -r ${LOG} ${CONECTA}

exit 0

Scripts recomendados

melhorias

Remoção de arquivos multimídia

Youtube para DVD (Pioneer)

Limpar bibliotecas não utilizadas

Bomba.sh - Estouro de memória RAM com Menu


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts