Problema resolvido. Comecei com uma nova instalação do Cygwin para obter as versões mais recentes do SSH e RSYNC, e agora está funcionando bem.
Eu quero usar o Rsync para fazer backup de um site para um sistema Windows XP que é salvo em backup todas as noites. Eu olhei para cwRsync e Grsync, e ambos funcionam bem, contanto que eu esteja rodando enquanto estiver logado no Windows. Eu posso configurar uma tarefa agendada no Windows e executar a tarefa sob demanda e até mesmo isso funciona bem.
Mas quando tento executar a tarefa agendada enquanto estou desconectado, ela trava. Quando faço o próximo login, a tarefa é mostrada como ainda em execução e vejo os processos RSYNC.EXE e SSH.EXE em execução. Eu tenho que parar a tarefa, então mate os dois processos. Enquanto isso, nenhum arquivo foi transferido. Faz isso toda vez.
Eu adicionei o máximo de registros que pude, mas o log pára no comando Rsync:
opening connection using: ssh -l user domain.com rsync --server --sender -vvnlogDtpre.iLs . /home/user/backups/site-backup.tar
Para descartar problemas com o agendador de tarefas, criei uma tarefa em lote simples, agendada e desconectada. Quando eu entrei novamente em algum tempo depois, a tarefa tinha sido executada quando deveria e a saída estava conforme o esperado.
O sistema host é um servidor de hospedagem compartilhada do Linux. Eu tenho um trabalho CRON configurado que primeiro despeja todos os bancos de dados usando o mysqldump, em seguida, cria um arquivo TAR de mais todas as pastas que eu preciso fazer o backup do host. Essa parte funciona como um encanto.
E como eu disse, executar o Rsync no Windows para pegar o arquivo TAR também funciona bem, e eu particularmente gosto da maneira como ele usa a cópia delta para mover apenas os bits que são diferentes. Isso economiza uma tonelada de tráfego, que é um dos principais motivos pelos quais eu queria usar o Rsync em primeiro lugar.
Eu tive esse problema e atualizar o Cygwin não funcionou.
Eu finalmente isolei o problema para o script que iniciou o rsync; o script tinha essas linhas:
REM Set HOME variable to your windows home directory. That makes sure
REM that ssh command creates known_hosts in a directory you have access.
SET HOME=%HOMEDRIVE%%HOMEPATH%
Parece que, no Windows Scheduler, o HOMEDRIVE e o HOMEPATH não são inicializados, portanto, o HOME não foi configurado e o ssh.exe foi interrompido durante a solicitação para aceitar a chave remota.
Depois de inicializar o HOME em um diretório conhecido, ele começou a funcionar bem.
Eu tive o mesmo problema ... Eu atualizei a minha versão do Rsync para Windows a partir do rsync.net, mas isso não ajudou.
Então eu olhei para o arquivo de exemplo deles. Eu notei os caminhos onde não é certo para o Windows 2008.
Acabei de abrir as variáveis de ambiente para o sistema e adicionei o seguinte ...
CWRSYNCHOME = C: \ Arquivos de programas (x86) \ cwRsync
CYGWIN = nontsec
CWOLDPATH ----- < apenas REM no lote de exemplo não foi adicionado às variáveis de ambiente
* PATH = C: \ Arquivos de programas (x86) \ cwRsync \ bin
* adicione ao seu PATH já longo depois de um;
então eu acabei de remover todas as coisas do caminho definido no arquivo de lote, EXCETO SET HOME = C: \ RSYNC < --- Mudei meu pub e chaves particulares para pastas SSH e arquivos para este diretório e verifiquei se a segurança estava definida para todos para essa pasta na caixa que está sendo executada isso porque a tarefa é executada como uma conta de serviço, não o administrador. e na época eu estava tentando eliminar as causas do fracasso.
O rsync agora é executado como uma tarefa agendada no Windows Server 2008 R2 sem problemas. a cada 30min
Versão atualizada do Rsync da fonte (não é o que eu usei, mas provavelmente não vai doer)
Espero que isso ajude alguém preso nesse problema, foi muito frustrante !!!