Re: [FUG-BR] sincronização de servidores (rsync via ssh)
2011/5/30 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. 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
Re: [FUG-BR] sincronização de servidores (rsync via ssh)
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 2>&1 #vmail $RSYNC --exclude 'fabricio/' 192.168.25.1::vmail /var/vmail >> $log_file 2>&1 #/usr/local/etc #$RSYNC 192.168.25.1::usrlocaletc /usr/local/etc/ >> $log_file 2>&1 É 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)
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 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. > > -- > > 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
[FUG-BR] sincronização de servidores (rsync via ssh)
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