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
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.
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
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.
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.
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.
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
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.
Tags bash automation ftp iis scripting