Backup com rsync em maquina da rede.
Publicado por Jack 31/08/2004
[ Hits: 11.260 ]
Homepage: www.icatorze.com.br
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.
#!/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
Screenshot automático em Shell Script
Executando comandos de telnet via shell-script
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta