Manter a pasta FTP sincronizada com a pasta do Windows

8

Estou tentando fazer com que meu sistema de Integração Contínua funcione do início ao fim no ambiente de desenvolvimento.

Infelizmente, a última etapa depois da publicação é copiar a pasta para um servidor off-site que só posso acessar via FTP.

Gostaria de ter um serviço em execução que observe uma pasta local e, se ela mudar, atualize o servidor FTP com essas alterações.

Não consigo encontrar algo para fazer isso no Windows.

    
por CaffGeek 30.09.2009 / 00:46

3 respostas

14

cliente de FTP WinSCP de código-fonte aberto , que tem todos os tipos de recursos para isso.

O comando que você está procurando está no menu "Comandos" e é chamado " Mantenha o diretório remoto atualizado " .

suporte a scripts disponível também por meio do comando keepuptodate .

    
por 31.10.2009 / 13:06
5

Experimente a versão gratuita de SyncBack . Ele não faz monitoramento de pasta em tempo real, mas você pode programá-lo para sincronizar em intervalos especificados. Ajuste para algo baixo como 1 minuto.

    
por 30.09.2009 / 00:56
2

Solução gratuita e de código aberto baseada no git:

Use git-ftp para sincronização. Após a instalação e configuração de um repositório git local, você pode fazer:

  • git ftp init -u < usuário > -P f tp: //host.example.com/public_html#for push pela primeira vez
  • git ftp push --user < usuário > --passwd < senha > f tp: //host.example.com/public_html

Agora você só precisa observar as alterações no sistema de arquivos, adicioná-las ao seu repositório git local e enviar seu repositório usando o comando acima.

Vantagens:

  • git-ftp funciona no windows e no linux (testado com mysys git no windows)
  • integra-se perfeitamente à sua configuração de desenvolvimento se você já estiver usando o git
  • muito fácil de configurar e usar (se você estiver familiarizado com o git)
  • alterações incrementais - > economiza muita largura de banda

Desvantagens:

  • você precisa encontrar uma solução para observar alterações no sistema de arquivos (não deve ser muito difícil de fazer, por exemplo, o nodejs tem soluções para isso)

Veja um exemplo de um arquivo em lote que estou usando no Windows:

@echo off
git init .
git add . --all
git commit -am "auto commit"
set /p pwd= Please enter ftp password: 
git ftp push --user myftpuser --passwd %pwd% ftp://myftphost.com/myfolder

Observe que este é um exemplo interativo, mas você pode torná-lo não interativo ao armazenar a senha no arquivo em lote.

    
por 25.08.2015 / 20:14