[FUG-BR] sincronização de servidores (rsync via ssh)

2011-05-30 Por tôpico irado furioso com tudo
buenas, povo.

preciso fazer espelhamento entre duas máqunas; o inicial já foi feito
(dump/restore) e as máquinas estão identicas (não hardware, mas os sistemas)
só que agora preciso que fiquem sincronizadas entre si, de modo a poder
substitui-las caso a MASTER tenha problemas. Imagino que NÃO precisarei (por
ex) me preocupar com o '/' e demais, mas apenas com o /var/ e /usr/local e,
ainda assim, sem os *logs* e outros que eventualmente não são uteis.

a documentação/orientação que tenho encontrado no google ou é MUITO antiga
ou confusa ou ambas (rs); estou imaginando alguma coisa assim:

rsync /path ::s...@servidor.na.casa.do.chapéu restore
diretamente.no.local.do.primeiro.path
[...] diversos repetecos..
fim.


é possível que haja documentação mais recente mas, se pelo menos me
esclarecerem:

nos rsyncd.conf TODAS as orientações que encontrei falam de um único path
(normalmente o '/'); é possível colocar-se paths diversos, um por linha, por
exemplo? ou há algum outro modo de se fazer (script?)

enfim, taí a dúvida.

TIA.

-- 

saudações,
irado furioso com tudo
mais crimes são cometidos em nome das religiões do que em nome do ateismo.
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] sincronização de servidores (rsync via ssh)

2011-05-30 Por tôpico Carlos Eduardo G. Carvalho (Cartola)
Oi Irado,

não sei se entendi bem sua dúvida, mas eu uso um script com rsync + expect
para fazer backup de um servidor onde hospedo coisas. Não é o mesmo
objetivo, mas acho que atenderia, bastando parametrizá-lo. Segue ele sem as
senhas e nomes reais.

--
#!/bin/sh

# atualiza com limite de velocidade passado por $1
if [ $1 =  ]; then
  BW=
else
  BW=--bwlimit=$1
fi

LOG_DIR=/tmp/bkp_cartola
DATA=`date +%Y%m%d`
mkdir -p $LOG_DIR
LOG_GERAL=$LOG_DIR/log-$DATA.txt
# Que diretorios serao backupeados
DIRS_BKP=dir1 dir2 dir3 dir4 dir5
cd /dados/salvar
TESTE=`pwd`
if [ $TESTE != /dados/salvar ]; then
  echo Erro, nao foi possivel ir ao diretorio de backup.  $LOG_GERAL
fi

for DIR in $DIRS_BKP; do
  LOG=$LOG_DIR/log-$DIR-$DATA.txt
  TESTE=`grep Total bytes received $LOG 2 /dev/null`
  if [ $TESTE !=  ]; then
echo Backup de $DIR de $DATA ja realizado.  $LOG_GERAL
  else
/usr/local/bin/expect -f -  $LOG 2 $LOG  EOF
set timeout -1
spawn /usr/local/bin
rsync -e ssh -p  -z -a -v --delete --size-only --progress --stats $BW
usua...@servidor.com:/home/usuario/public_html/$DIR .
match_max 10
expect -exact password: 
send -- *suasenha*
expect eof
EOF
  fi
done

# Limpando logs antigos
find $LOG_DIR -name log-\* -mtime +4 -delete




-

Em 30 de maio de 2011 17:55, irado furioso com tudo ir...@bsd.com.brescreveu:

 buenas, povo.

 preciso fazer espelhamento entre duas máqunas; o inicial já foi feito
 (dump/restore) e as máquinas estão identicas (não hardware, mas os
 sistemas)
 só que agora preciso que fiquem sincronizadas entre si, de modo a poder
 substitui-las caso a MASTER tenha problemas. Imagino que NÃO precisarei
 (por
 ex) me preocupar com o '/' e demais, mas apenas com o /var/ e /usr/local e,
 ainda assim, sem os *logs* e outros que eventualmente não são uteis.

 a documentação/orientação que tenho encontrado no google ou é MUITO antiga
 ou confusa ou ambas (rs); estou imaginando alguma coisa assim:

 rsync /path ::s...@servidor.na.casa.do.chapéu restore
 diretamente.no.local.do.primeiro.path
 [...] diversos repetecos..
 fim.


 é possível que haja documentação mais recente mas, se pelo menos me
 esclarecerem:

 nos rsyncd.conf TODAS as orientações que encontrei falam de um único path
 (normalmente o '/'); é possível colocar-se paths diversos, um por linha,
 por
 exemplo? ou há algum outro modo de se fazer (script?)

 enfim, taí a dúvida.

 TIA.

 --

 saudações,
 irado furioso com tudo
 mais crimes são cometidos em nome das religiões do que em nome do ateismo.
 -
 Histórico: http://www.fug.com.br/historico/html/freebsd/
 Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] sincronização de servidores (rsync via ssh)

2011-05-30 Por tôpico fknet
Aqui faço o seguinte, no servidor backup tenho um script que rodo pelo 
crontab a cada 5 minutos.

Veja abaixo um exemplo deste script:

#!/bin/sh
log_file='/var/log/rsync.log'
RSYNC='/usr/local/bin/rsync -tarv --delete'
#inicio do backup
echo -e \nInicio do backup - `date`\n  $log_file
#www
$RSYNC 192.168.25.1::www /usr/local/www/apache22/data/  $log_file 21
#vmail
$RSYNC --exclude 'fabricio/' 192.168.25.1::vmail /var/vmail  $log_file 
21
#/usr/local/etc
#$RSYNC 192.168.25.1::usrlocaletc /usr/local/etc/  $log_file 21

É bem simples, o servidor backup está ligado ao servidor mestre através 
de uma placa de rede separada, com um cabo cross, dessa forma não 
trafego nada do backup pela interface principal do servidor master. Aqui 
funciona muito bem e acho que te atenderá, desde que você não precise de 
algo realmente online (aqui tenho latência de 5 minutos, que me é 
suficiente, mas você pode tentar fazer com intervalos menores).

[]s


Em 30/05/2011 17:55, irado furioso com tudo escreveu:
 buenas, povo.

 preciso fazer espelhamento entre duas máqunas; o inicial já foi feito
 (dump/restore) e as máquinas estão identicas (não hardware, mas os sistemas)
 só que agora preciso que fiquem sincronizadas entre si, de modo a poder
 substitui-las caso a MASTER tenha problemas. Imagino que NÃO precisarei (por
 ex) me preocupar com o '/' e demais, mas apenas com o /var/ e /usr/local e,
 ainda assim, sem os *logs* e outros que eventualmente não são uteis.

 a documentação/orientação que tenho encontrado no google ou é MUITO antiga
 ou confusa ou ambas (rs); estou imaginando alguma coisa assim:

 rsync /path ::s...@servidor.na.casa.do.chapéu restore
 diretamente.no.local.do.primeiro.path
 [...] diversos repetecos..
 fim.


 é possível que haja documentação mais recente mas, se pelo menos me
 esclarecerem:

 nos rsyncd.conf TODAS as orientações que encontrei falam de um único path
 (normalmente o '/'); é possível colocar-se paths diversos, um por linha, por
 exemplo? ou há algum outro modo de se fazer (script?)

 enfim, taí a dúvida.

 TIA.


-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] sincronização de servidores (rsync via ssh)

2011-05-30 Por tôpico Renato Botelho
2011/5/30 irado furioso com tudo ir...@bsd.com.br:
 buenas, povo.

 preciso fazer espelhamento entre duas máqunas; o inicial já foi feito
 (dump/restore) e as máquinas estão identicas (não hardware, mas os sistemas)
 só que agora preciso que fiquem sincronizadas entre si, de modo a poder
 substitui-las caso a MASTER tenha problemas. Imagino que NÃO precisarei (por
 ex) me preocupar com o '/' e demais, mas apenas com o /var/ e /usr/local e,
 ainda assim, sem os *logs* e outros que eventualmente não são uteis.

 a documentação/orientação que tenho encontrado no google ou é MUITO antiga
 ou confusa ou ambas (rs); estou imaginando alguma coisa assim:

 rsync /path ::s...@servidor.na.casa.do.chapéu restore
 diretamente.no.local.do.primeiro.path
 [...] diversos repetecos..
 fim.


 é possível que haja documentação mais recente mas, se pelo menos me
 esclarecerem:

 nos rsyncd.conf TODAS as orientações que encontrei falam de um único path
 (normalmente o '/'); é possível colocar-se paths diversos, um por linha, por
 exemplo? ou há algum outro modo de se fazer (script?)

 enfim, taí a dúvida.

Grande Irado,

não é uma resposta a sua pergunta, mas, você não cogita usar o hastd [1]?

[1] http://wiki.freebsd.org/HAST

Pelo que ouvi de relatos, funciona muito bem.

[]s
-- 
Renato Botelho
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd