Comment lister le contenu du répertoire du FTP distant, de manière récursive

StackOverflow https://stackoverflow.com/questions/98224

  •  01-07-2019
  •  | 
  •  

Question

Après avoir téléchargé des fichiers depuis un serveur FTP UNIX distant, vous souhaitez vérifier que vous avez correctement téléchargé tous les fichiers. Minimal, vous obtiendrez des informations similaires à " dir / s " commande à l'invite de commande Windows. Le client FTP s'exécute sous Windows.

Était-ce utile?

La solution

Malheureusement, cela a été écrit pour les utilisateurs Unix / Linux: /

Personnellement, j’installerais CYGWIN uniquement pour que les fichiers binaires Linux de LFTP / RSYNC fonctionnent sous Windows, puisqu’il ne semble pas y avoir de concurrence.

As @ zadok.myopenid.com mentionné rsync, cela semble être une construction Windows utilisant CYGWIN (si vous parvenez à obtenir un accès ssh à la boîte éventuellement)

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

Rsync est pratique dans la mesure où il compare tout avec les sommes de contrôle et transfère de manière optimale les blocs de modification partielle.

Si vous obtenez CYGWIN / Linux:

http://lftp.yar.ru/ est mon outil d'exploration préféré pour cela.

Il peut faire presque tout ce que peut faire bash, même à distance.

Exemple:

$ 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> 

Autres conseils

Si vous avez un accès ssh, utilisez plutôt rsync. C’est une application de transfert de données bien meilleure.

Prenez un fusible pour votre système d’exploitation et chargez ftpfs. Cela vous permettra de monter le répertoire ftp distant localement et vous pourrez utiliser dir / s ou toute autre application de votre choix.

Faites ceci:

ls -lR

..................

Vous pouvez utiliser ftp.listFiles ("répertoire") à partir d'apache-commons-net et écrire votre propre fichier BFS ou DFS pour récupérer tous les fichiers de manière récursive.

En supposant que vous utilisez un simple ftp via une ligne de commande, Utilisez la commande dir avec l'option -Rl pour effectuer une recherche récursive et le copier dans un fichier, puis effectuez une recherche dans le fichier à l'aide de grep, find ou de toute autre manière prise en charge par votre système d'exploitation.

ftp > dir -Rl education.txt sortie dans le fichier local: education.txt? y 227 Passage en mode passif (9,62,119,15,138,239) 150 Ouverture d'une connexion de données en mode ASCII pour la liste de fichiers 226 Transfert terminé

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top