Backup com rsync em maquina da rede.

Publicado por Jack 31/08/2004

[ Hits: 11.286 ]

Homepage: www.icatorze.com.br

Download sincr_backup.sh




Antes de rodar o script, a maquina servidor, deve poder se conectar com a maquina cliente com SSH sem senha (há vários artigos sobre isso). O cliente e o servidor devem ter o rsync. O rsync vai copiar na primeira vez os arquivos do servidor para a maquina do backup, depois o rsync só atualiza o que foi modificado e apagado. Está rodando há uns 6 meses aqui na empresa.

  



Esconder código-fonte

#!/bin/sh
#
#sincr_backup.1.0
#Script que iniciara e enviara os pacotes para 
#backup na maquina remoto, definida agora como
#backup ou 192.168.50.241
#
#Configuracao do host remoto
#ip da maquina que recebe os backups
IP_BCKUP=192.168.50.241
#dispositivo (/dev/hd??) que recebe os backups
DISP_BCKUP=/dev/hdb1
#ponto de montagem do dispositivo
MNT_POINT=/mnt/discobackup/
ARQ_IDENT=.ident_dsk.txt
#
#
#Checa se o host esta ligado
/bin/ping -c 1 -W 2 $IP_BCKUP > /dev/null
if [ "$?" -ne 0 ];
then 
   #Escreve o arquivo de log em /var/log/sincr_backup.log
   #Escreve a data e a hora
   date >>  /var/log/sincr_backup.log
   #Se a conexao nao retornar o pinga ele avisa.
   echo Conexao ao host $IP_BCKUP falhou!!! >> /var/log/sincr_backup.log
   echo Nao foi possivel realizar o backup. >> /var/log/sincr_backup.log
   echo ----------------------------------- >> /var/log/sincr_backup.log
   #O script termina aqui.
else 
   #Se retornar o ping ...
      #Escreve o arquivo de log em /var/log/sincr_backup.log
      #Escreve a data e a hora
   date >>  /var/log/sincr_backup.log
   #Pega a estampa de tempo inicial, em segundos desde 1-1-1970
   INI_TIME=`date +%s`
   #Avisa que o host esta funcionando
   echo O host $IP_BCKUP esta em pe!! >> /var/log/sincr_backup.log
   #Verifica se o disco de backup ja esta montado
   /usr/bin/ssh $IP_BCKUP /bin/mount | grep $DISP_BCKUP > /dev/null
   #monta o disco no ponto de montagem, se ja estiver montado, tudo bem
   if [ "$?" -ne 1 ];
   then 
      echo O disco ja esta montado!!! >> /var/log/sincr_backup.log
   else
      echo Montando o disco $DISP_BCKUP em $MNT_POINT >> /var/log/sincr_backup.log
      /usr/bin/ssh $IP_BCKUP mount /dev/hdb1 /mnt/discobackup
        fi
   #Depois de montados
   #le o arquivo com a identificacao do disco
   /usr/bin/ssh $IP_BCKUP /bin/cat $MNT_POINT$ARQ_IDENT >> /var/log/sincr_backup.log
   echo Sincronizando discos ..... >> /var/log/sincr_backup.log
   #Inicia a sincronizacao pelo rsync
   rsync -a --delete -e ssh /home root@$IP_BCKUP:/mnt/discobackup/
   #Pega a estampa de tempo final
   FIN_TIME=`date +%s`
   #Calcula o tempo para realizar o backup
   TOT_TIME=`expr $FIN_TIME - $INI_TIME`
   echo Levou $TOT_TIME segundos para terminar o backup! >> /var/log/sincr_backup.log
   echo ----------------------------------- >> /var/log/sincr_backup.log
fi

Scripts recomendados

Gerenciar hosts virtuais do Apache

CGI + Shell

beepop - popups com o texto digitado

informativo

XFCE mínimo no Ubuntu 16.04


  

Comentários
[1] Comentário enviado por icatorze em 31/08/2004 - 17:49h

Ainda, complementando, com a configuração certa é possível fazer o backup numa maquina remota, fora da rede, através da internet, pois o rsync permite isso.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts