Esse procedimento tem como objetivo principal sanar uma necessidade que pode ser encontrada quando temos que efetuar backup, via rsync, de um servidor Linux para um servidor Windows. Resolvi postar dessa forma pois encontramos a necessidade em nosso ambiente e depois de alguns testes chegamos ao resultado esperado.
Primeiramente devemos baixar a ferramenta cwrsync no SourceForge.net (baixe o rsync-server), essa ferramenta é gratuita e simula o serviço nativo do Unix, Rsync, para estações Windows.
Basta extrair e efetuar a instalação padrão do Windows. Caso você queria pode alterar o caminho padrão de instalação para a unidade C:\ para um monitoramento mais simples.
Nesse caso, alteramos o caminho para C:\ICW
Nessa fase é exibido o usuário que iniciará o serviço (não há necessidade de alterar). Em seguida é apenas necessário instalar e concluir a instalação.
Serviço RsyncServer
Aqui apenas mostraremos como o serviço rsync é iniciado no sistema operacional Windows, e o que deve ser alterado para que o mesmo execute automaticamente na inicialização do sistema.
No Windows, clique em iniciar > executar, digite: services.msc (enter), localize o serviço RsyncServer e de um duplo clique. Aparecerá essa tela:
O serviço ainda não estará iniciado, e sua inicialização ainda é manual. Para que ele seja executado sempre que o Windows iniciar, deve-se alterar a opção "tipo de inicialização" para automático e em seguida, iniciar o serviço para que o rsync, possa funcionar.
Fica dessa forma:
Perceba que agora o serviço está iniciado e alterado para automático.
[3] Comentário enviado por rafaelvieira em 30/06/2010 - 09:38h
Olá Felipe, no caso das permissões ocorre o seguinte.
Como o Windows tem um esquema de permissões diferente do Linux. Quando os arquivos forem transferidos para o Windows, é como se eles estivessem sendo criados naquele momento por um usuário, portanto ele herdará as permissões padrões do Windows independente de como esta no linux. Quando houver o restore, as permissões serão as nativas do linux como se os arquivos estivessem sendo criados naquele momento. De acordo com a UMASK definida no sistema.
[5] Comentário enviado por geovaneroberto em 03/12/2011 - 12:39h
Rafael!
Achei o problema era no user e senha do win, porém toda vez que rodo o comando ele deleta o conteudo da pasta e não faz o sincronismo, o que acha que pode ser?
geovane@localhost:~$ rsync -Cravz --chmod=u=rwx,g=rx,o=rx --progress --partial --delete-excluded arquivos/ rsync://192.168.0.133/test
sending incremental file list
./
deleting Nova pasta/
deleting Nova pasta (2)/
sent 48 bytes received 11 bytes 10.73 bytes/sec
total size is 0 speedup is 0.00
geovane@localhost:~$
Ele sempre deleta e nao copia do linux -> windows e nem windows -> Linux.
[6] Comentário enviado por rafaelvieira em 06/12/2011 - 11:16h
Ola Geovane, eu tenho um servidor linux efetuando esse procedimento atualmente para um Server 2008 R2, e esta funcionando perfeitamente.
O que ele faz nesse comando, é um backup incremental, portanto ele atualizara o conteudo do diretório no windows de acordo com o diretorio de origem. Por exemplo se na hora que estiver rodando o comando, nao existir nenhuma pasta ou arquivo no diretorio no linux ele vai sincronizar o windows e remover tbm.
Faça um teste básico.
Crie 3 arquivos de texto no linux e efetue o rsync. (Veja se copiou)
Modifique os tres no linux e efetue pra ver se sincronizou. (verifique se alterou)
Modifique os tres no windows e efetue o rsync pra ver se sincronizou.
Delete os tres no Linux e efetue o rsync.
Apenas com esses testes podemos identicar o problema ai no seu ambiente.