Aqui está uma maneira - usando o GNU ftpsync
.
Observe que os links para download no link parecem estar quebrados a partir de agora; a página que você precisa é link ... Parece que eu entendi isso via git, provavelmente pelo endereço:
git clone git://git.sv.gnu.org/ftpsync.git
Observe que ftpsync
é um script Perl, no diretório src/
deste repositório. (Observe também que há uma ferramenta diferente, ftpsync.py
em Python, encontrada em ftpsync2d - Hospedagem do Google Project )
De qualquer forma, o truque é simplesmente tentar sincronizar a árvore de FTP remota com um diretório local vazio, enquanto definimos ftpsync
para o modo de informação ( -i
) (para que nenhuma ação de download real seja executada) e modo. No entanto, observe que o modo detalhado ( -v
) parece estar com bugs (eu recebo mesmo menos saída para stdout do que se eu não usar -v
); Então, abaixo eu usei -d
para o modo de depuração, que parece funcionar como anunciado.
Por fim, faço isso:
$ mkdir /tmp/test
$ cd /tmp/test
$ /path/to/ftpsync-git/src/ftpsync -d -i ftp://user:[email protected]/www . 2>&1 | tee _ftpsync_.log
Building remote tree ftp://[email protected]/www
Detecting if passive needed... Passive
Logging in as user.
Sync file /tmp/Q44CbrEGUU => Q44CbrEGUU
Localtime before 1393782144, Remote 1393782120, after 1393782144
Clock sync offset: 0h00m00s
Dir: in www
Mod:1327878000 Size:737 .htaccess
Mod:1237503600 Size:241 .hiddenfile
Dir: stuff in www
...
Mod:1353452400 Size:4812800 somefile
Building local tree of .
Dir:
Mod: Size:
Died at /path/to/ftpsync-git/src/ftpsync line 1011.
Depois que esse processo estiver concluído, você deverá ter uma lista de todos os arquivos e diretórios em www/
no servidor remoto, localmente em _ftpsync_.log
- assim, mais tarde você pode percorrer este arquivo para procurar nomes de arquivos e subdiretórios remotos nomes.
Bem, ainda gostaria de saber se existem ferramentas alternativas para fazer isso ...
Espero que isso ajude alguém,
Felicidades!