[FUG-BR] Copiar do NFS [fora do topico]

Gilberto Villani Brito linux em giboia.org
Terça Dezembro 11 17:41:11 BRST 2007


On 11/12/2007, William David FUG-BR <fugbr at biosystems.ath.cx> wrote:
> Espelho e Backup automático com RSync e NFS
>
> Desenvolvi uma rotina de backup com rsync pra você fazer um espelho do
> servidor e manter os arquivos excluídos em um diretório ou partição
> separada é realmente muito simples.
>
> Você pode por o servidor de backup em produção mantendo 1 dia de
> atrazo ou menos e ainda ter um bkp diário do que foi excluido o
> comando é esse :
>
> /usr/local/bin/rsync -a --delete-during --backup
> --backup-dir=/backup/2006-08-15/user/ --compress --verbose
> --human-readable --stats /srv1/user/ /srv2/user
>
> Explicando:
>
>   *   o –delete-during ele apaga no destino o que já foi excluido na
> origem durante a sincronização.
>   *   o –backup –backup-dir=/backup/2006-08-15/user/ irá efetuar o
> backup e definirá onde ele deve guardar os arquivos excluidos antes
> dele serem apagados no destino, eu fiz um script em sh para pegar a
> data atual dai você
> agenda no cron e corre pra cama dormir sossegado.
>
> configuração:
> srv 1
>
>   *      1 hd pro OS
>   *      1 hd para os dados correto ?
>
> Instala o rsync cria um compartilhamento NFS na partição de dados no
> serv 1 que só pode ser montado pelo serv 2
> srv 2
>
>   *      1 hd pro OS
>   *      1 hd pros dados como espelho1) mas em stand by para algum
> pau. você só precisa mudar o ip e subir o samba que deve ser
> configurado também como um espelho do teu srv 1 de produção e ai você
> desliga o srv 1 para reparo . =o)
>   *      4 hd´s SATA2) para ser os BKP sem graid3 ( que é a versão
> GEOM do RAID3 por software ). pra podermos utilizar melhor todo espaço
> e fazer uma rotação simples nos hd´s para mais segurança contra falhas
> do próprio hd.
>
> Usando o cron você monta esse compartilhamento e executa o rsync
> normalmente puxando do srv 1 os arquivos para o srv 2 atualizando o HD
> de mirror e já fazendo backup para os hd´s SATA, dai vem de você
> rotacionar os discos conforme você achar melhor
>
> /backup/
> /backup/semana 1 ( hd 1 )
> /backup/semana 2 ( hd 2 )
> /backup/semana 3 ( hd 3 )
> /backup/semana 4 ( hd 4 )
>
> O sh irá verificar se existe 1 arquivo ( IF { exist } ) de TAG para
> fazer rotação entre os hd´s esse arquivo é apagado e gerado no final
> de cada execução do backup com o touch /backup/TAG1 - TAG2 - TAG3 -
> TAG4 .
>
> #!/bin/sh
>
> ###
> # BSSN
> # Script de espelhamento em 1 hd para fail over e backup diferencial
> por data em 4 hd´s para bkp alternado.
> # v2.000  bio060815
> ###
>
>
> DATA1=`/bin/date +%Y-%m-%d`
> DIRETORIO1=/backup/semana1/$DATA1
> DIRETORIO2=/backup/semana2/$DATA1
> DIRETORIO3=/backup/semana3/$DATA1
> DIRETORIO4=/backup/semana4/$DATA1
>
> # ARQUIVO=/squid/logbkp/squid.logs.$DATA1.tgz
>
>
>
> echo "Checando TAG..."
>
> if [  -f /backup/TAG1 ]
> then
>       echo "Montando particao remota no servidor de backup"
>       /sbin/mount -t nfs 192.168.1.247:/SCSI /mnt
>       # mnt é o hd do serv1 montado via nfs
>
>       mkdir $DIRETORIO1
>       cd /mirror
>
>       echo " efetuando backup em" + $DIRETORIO1
>       /usr/local/bin/rsync -a --delete-during --backup
> --backup-dir=$DIRETORIO1/user --compress --verbose --human-readable
> --stats /mnt/ /mirror
>       # mirror é o hd de espelho do SCSI que ficará em stand by
>
>       /bin/rm /backup/TAG1
>       /usr/bin/touch  /backup/TAG2
>       echo
>       echo "...done."
>
> elif [  -f /backup/TAG2 ]
> then
>       echo "Montando particao remota no servidor de backup"
>       /sbin/mount -t nfs 192.168.1.247:/SCSI /mnt
>       # mnt é o hd scsi do serv1 montado via nfs
>
>       mkdir $DIRETORIO2
>       cd /mirror
>
>       echo " efetuando backup em" + $DIRETORIO2
>       /usr/local/bin/rsync -a --delete-during --backup
> --backup-dir=$DIRETORIO2/user --compress --verbose --human-readable
> --stats /mnt/ /mirror
>       # mirror é o hd de espelho do  SCSI que ficará em stand by
>
>       /bin/rm /backup/TAG2
>       /usr/bin/touch  /backup/TAG3
>       echo
>       echo "...done."
>
> elif [  -f /backup/TAG3 ]
> then
>       echo "Montando particao remota no servidor de backup"
>       /sbin/mount -t nfs 192.168.1.247:/SCSI /mnt
>       # mnt é o hd scsi do serv1 montado via nfs
>
>       mkdir $DIRETORIO3
>       cd /mirror
>
>       echo " efetuando backup em" + $DIRETORIO3
>       /usr/local/bin/rsync -a --delete-during --backup
> --backup-dir=$DIRETORIO3/user --compress --verbose --human-readable
> --stats /mnt/ /mirror
>       # mirror é o hd de espelho do  SCSI que ficará em stand by
>
>       /bin/rm /backup/TAG3
>       /usr/bin/touch  /backup/TAG4
>       echo
>       echo "...done."
>
> elif [  -f /backup/TAG4 ]
> then
>       echo "Montando particao remota no servidor de backup"
>       /sbin/mount -t nfs 192.168.1.247:/SCSI /mnt
>       # mnt é o hd scsi do serv1 montado via nfs
>
>       mkdir $DIRETORIO4
>       cd /mirror
>
>       echo " efetuando backup em" + $DIRETORIO4
>       /usr/local/bin/rsync -a --delete-during --backup
> --backup-dir=$DIRETORIO4/user --compress --verbose --human-readable
> --stats /mnt/ /mirror
>       # mirror é o hd de espelho do  SCSI que ficará em stand by
>
>       /bin/rm /backup/TAG4
>       /usr/bin/touch  /backup/TAG1
>       echo
>       echo "...done."
>
>
> fi
>
>
> 1) seria um espelho do teu hd só que em outro micro
> 2) pois a velocidade é bem superior ao ATA IDE, de preferencial a hd´s
> de 10.000 rpm pois estes são os verdadeiros SATA.
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>

Muito obrigado pela dica, mas estou com o mesmo problema, permissão.

-bash-2.05b# rsync -avhrp --stats /mnt/home/ /usr/home
rsync: send_files failed to open
"/mnt/home/...../data/tlEKxNMBQwgPnKI2IsqHYCqUcsynLFWP": Permission
denied (13)
rsync: send_files failed to open
"/mnt/home/..../data/vaive at dilk.com.br.pref": Permission denied (13)
rsync: send_files failed to open "/mnt/home/...../data/vfc.pref":
Permission denied (13)
rsync: send_files failed to open
"/mnt/home/..../data/vicentedias at dilk.com.br.pref": Permission denied
(13)
rsync: send_files failed to open
"/mnt/home/..../scripts/megaupload-1.45/.Changes.swp": Permission
denied (13)

Algo novo para me indicar???


Abraços
-- 
Gilberto Villani Brito
System Administrator
Londrina - PR
Brazil
gilbertovb(a)gmail.com


Mais detalhes sobre a lista de discussão freebsd