Como a lista o conteúdo do diretório de FTP remoto, de forma recursiva
-
01-07-2019 - |
Pergunta
Depois de baixar arquivos de um servidor UNIX FTP remoto, você quer verificar se você fez o download todos os arquivos corretamente. Minimal você receberá informações semelhantes ao "dir / s" de comando no Windows prompt de comando. O cliente de FTP é executado no Windows.
Solução
Infelizmente este foi escrito para usuários Unix / Linux: /
Pessoalmente, eu iria instalar CYGWIN apenas para obter binários Linux de LFTP / RSYNC para funcionar no Windows, já que não parece ser qualquer coisa que compete com ele.
Como @ zadok.myopenid.com mencionado rsync, isso parece ser uma compilação janelas para ele usando CYGWIN (se você conseguir ser capaz de obter acesso ssh para a caixa eventualmente)
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
Rsync é útil na medida em que irá comparar tudo com somas de verificação, e de forma otimizada transferir blocos mudança parcial.
Se você receber CYGWIN / Linux:
http://lftp.yar.ru/ é a minha ferramenta de exploração de favorito para isso.
Ele pode fazer quase tudo o bash pode fazer, ainda que remotamente.
Exemplo:
$ lftp mirror.3fl.net.au lftp mirror.3fl.net.au:~> ls drwxr-xr-x 14 root root 4096 Nov 27 2007 games drwx------ 2 root root 16384 Apr 13 2006 lost+found drwxr-xr-x 15 mirror mirror 4096 Jul 15 05:20 pub lftp mirror.3fl.net.au:/> cd games/misc lftp mirror.3fl.net.au:/games/misc>find ./ ./dreamchess/ ./dreamchess/full_game/ ./dreamchess/full_game/dreamchess-0.2.0-win32.exe ./frets_on_fire/ ./frets_on_fire/full_game/ ./frets_on_fire/full_game/FretsOnFire-1.2.451-macosx.zip ./frets_on_fire/full_game/FretsOnFire-1.2.512-win32.zip ./frets_on_fire/full_game/FretsOnFire_ghc_mod.zip ./gametap_setup.exe ...... lftp mirror.3fl.net.au:/games/misc> du gametap_setup.exe 32442 gametap_setup.exe lftp mirror.3fl.net.au:/games/misc> du -sh gametap_setup.exe 32M gametap_setup.exe lftp mirror.3fl.net.au:/games/misc>
Outras dicas
Se você tem acesso ssh, use rsync vez. É muito melhor aplicativo de transferência de dados.
fusível Grab para seu sistema operacional e de carga ftpfs. Isso permitirá que você montar o diretório ftp remoto localmente e você pode usar dir / s ou qualquer outra aplicação que você quer nele.
Faça o seguinte:
ls -lR
..................
Você pode usar ftp.listFiles ( "diretório") a partir apache-commons-net e pode escrever seus próprios BFS ou DFS para buscar todos os arquivos de forma recursiva.
Assumindo que você está usando simples ftp via linha de comando, Use dir comando com a opção -Rl de pesquisa recursivamente e copiá-lo para um arquivo e, em seguida, procurar o arquivo usando o grep, encontrar ou o que maneira é suportado em seu sistema operacional.
ftp> dir -Rl education.txt saída para-arquivo local: education.txt? y 227 de entrar no modo passivo (9,62,119,15,138,239) 150 Abertura conexão de dados modo ASCII para arquivo lista 226 Transferência completa ??p>