Substituir todo o site por FTP

3

Eu tenho um conjunto de ferramentas que periodicamente (cerca de uma vez por dia) geram um conjunto completo de páginas HTML estáticas para um site com estrutura de pasta associada, etc.

Eu então preciso colocar esse arquivo no servidor de produção, meu problema é que o servidor roda o IIS (6 eu acho) e eu só tenho acesso FTP regular.

Eu preciso de uma maneira de automatizar o processo de publicação do novo site e ele precisa de uma substituição total dos arquivos cada vez que for publicado, por exemplo, excluir a pasta inteira & conteúdo, em seguida, colocar os novos.

Meu servidor de origem é uma máquina ubuntu e eu tenho controle total, tentei usar CurlFTpFS, mas parece ser muito lento para o que estou tentando fazer e bloqueia.

    
por Warner 29.03.2010 / 13:38

6 respostas

1

Escreva um script. Você pode encontrar o Expect adequado, que tem menos de uma curva de aprendizado para algumas pessoas. Eu costumo fazer algo assim para redirecionar a entrada no bash:

ftp HOST<<_EOF
USER
PASSWORD
ls
_EOF

Espere

    
por 29.03.2010 / 15:34
1

Use o rsync se puder. O Rsync permite gerar arquivos diff que mostram o que mudou, o que existe no alvo, mas não na fonte, etc. Isso tornará esse tipo de tarefa muito mais fácil.

Existem várias remontagens do rsync para Windows.

    
por 06.04.2010 / 11:39
0

Eu faria checkout do FUSE com o ftpfs, dessa forma você poderia simplesmente montar o servidor externo via ftpfs e trabalhar com ele como um sistema de arquivos normal, então apenas escreva um script para atualizar a página inteira. Eu estou usando o FUSE com ftpfs no meu Mac e ele funciona muito bem lá, então eu acho que o Linux não deve ser uma grande diferença.

    
por 29.03.2010 / 14:07
0

cwrsync é uma porta de rsync para Windows - Fácil de instalar se você tiver acesso de administrador (parece que você não pode). Alternativamente, seu host deve configurar o rsync no servidor para PULL da sua caixa do Ubuntu, se possível. Se nenhum dos dois for possível, talvez procure um host mais flexível para atender às suas necessidades.

O ftp com base em fusível e / ou scripts, será MUITO mais difícil, a menos que você tenha um conjunto muito pequeno de arquivos - Você provavelmente terá tempo limite, uploads parciais, etc. O rsync é MUITO simples e realmente projetado para gerenciar esse tipo de desafio.

    
por 09.04.2010 / 04:57
0

O Yuu poderia usar o cliente FTP Kermit, que possui sua própria linguagem de script / sintaxe para automatizar os uploads de FTP. Parece mimado, mas parece que deve ser capaz de fazer o truque

link

    
por 10.04.2010 / 14:02
0

Experimente lftp ; é scriptable e etc, e suporta comandos como 'mrm' (multi-remove) e 'mput' (multi-put) que devem ser úteis. E é empacotado etc para o Ubuntu, então

aptitude install lftp

permite que você experimente facilmente.

    
por 20.04.2010 / 22:09