Eu acho que você pode pular rsyncd
e plink
inteiramente, reorganizando um pouco sua arquitetura (o que terá outros benefícios).
Acredito que o rsyncd
daemon não precise estar em execução para fazer um rsync básico para fins de backup. rsync
normalmente apenas se conecta à outra caixa através de SSH, dispara uma instância de rsync no lado mais distante, e os dois rsync
s conversam sobre ssh - o daemon rsyncd
não está realmente envolvido. rsyncd
é normalmente usado para servir conteúdo para download por vários clientes (como um servidor espelho).
Nesta configuração, suponho que a caixa que recebe o backup (a caixa do Ubuntu) é o sistema mais "confiável" (do ponto de vista da segurança) --- não porque seja o Ubuntu, mas porque os servidores de backup naturalmente precisam armazenar dados para vários hosts confidenciais. Como tal, eu recomendaria iniciar a caixa rsync
do Ubuntu e definir a relação de confiança de chave para que seja a caixa do Windows que confia na caixa do Ubuntu, e não o contrário. Isso significaria configurar o sshd no Cygwin e bloqueá-lo (com um firewall baseado em host) que apenas as conexões do seu servidor de backup são permitidas.
Você poderia então simplesmente executar:
rsync -qrtz windowsbox:/path/to/files /path/to/ubuntu/backups
... que também demonstra como especificar o diretório no lado servidor.
Como a próxima etapa de solução de problemas, descartaria a tentativa de usar rsyncd
, deixando temporariamente de fora a autenticação baseada em chave, como você fez na solução de problemas anterior, e tente um simples rsync (de alguns arquivos de teste) usando autenticação baseada em senha.
Quando a sincronização básica estiver funcionando, você também desejará ver a opção rsync
--modify-window
, que ignorará o pequeno desvio nos timestamps que pode resultar das diferenças na forma como o Windows e o Unix-likes manipular segundos em registros de data e hora. Caso contrário, os arquivos que poderiam ser ignorados serão copiados várias vezes.
Também recomendo enfaticamente deixar a opção --delete
até que você tenha terminado de depurar e testar sua solução. Um erro de digitação e você pode excluir muito mais do que pretendia.