Backup com rsync em maquina da rede.

Publicado por Jack 31/08/2004

[ Hits: 11.175 ]

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

Cotação de Criptomoedas

The Universal Argument Parser (with long options)

Instalado novas interfaces no Ubuntu 12.04

Scrip para criação de arquivos em série

Conexão SSH via Console


  

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