De manière récursive METTRE des fichiers sur un serveur distant via FTP
Je suis actuellement dans une situation où j'ai très peu accès à un serveur, mais besoin de télécharger et d'une quantité importante de fichiers contenus dans un répertoire unique de la structure. Je n'ai pas d'accès SSH, donc je ne peux pas utiliser SCP - et rsync n'est pas une option non plus malheureusement.
Je suis actuellement à l'aide ncftpput, ce qui est excellent, mais semble être assez lente (en dépit d'une connexion rapide).
Est il une autre solution /une meilleure méthode que je puisse voir?
(Veuillez accepter mes excuses si cela a été couvert, j'ai fait une rapide recherche avant de poster mais n'ai pas trouver quelque chose qui précisément répondu à ma question)
Je suis en effet - je pense que le problème est en partie FTP est assez vieillot.. donc il ne peut pas être une solution idéale
OriginalL'auteur codeinthehole | 2009-09-10
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser LFTP:
http://lftp.yar.ru/
ou YAFC:
http://yafc.sourceforge.net/index.php
OriginalL'auteur DmitryK
Si vous avez une bonne connexion, je vous recommande de montage au serveur ftp via le GNOME ou KDE gestionnaires de fichiers, soit en utilisant de l' CurlFtpFS. Ensuite, vous pouvez le traiter comme juste un autre dossier.
Pas de configuration du serveur est nécessaire. Le serveur est déjà configuré pour le protocole FTP. Et la question n'est pas de rendre les choses plus vite, c'est pour les rendre plus faciles. Après le montage avec CurlFtpFS, une fois pourrait utiliser unix standard utils comme cp et rsync. Je ne dire que cela fonctionne mieux avec une bonne connexion.
OriginalL'auteur Ryan Thompson
Je ne suis pas familier avec
ncftpput
. Pour les non-interactive FTP, j'ai toujours utilisé le Perl Net::FTP module -- http://perldoc.perl.org/Net/FTP.htmlCe sera plus rapide parce que vous pouvez vous connecter, puis faire tous les transferts à la fois (il semble qu'à partir d'un rapide coup d'œil que vous exécutez
ncftpput
une fois pour chaque fichier get/put).Rappelez-vous juste de ne JAMAIS utiliser l'ASCII mangling! C'est la valeur par défaut, afin de l'utiliser:
ASCII d'amputation des besoins de mourir dans la même feu avec MySQL automatique-fuseau horaire-l'interprétation.
OriginalL'auteur audiodude
Depuis que je finis toujours par avoir un problème avec cela, je vais poster mes notes ici:
Une chose que j'ai toujours de confondre la syntaxe; donc, ci-dessous il y a une
bash
testeur de script qui crée des répertoires temporaires, puis commence une temporaire de serveur ftp, et les comparersync
(dans la plaine du fichier local de la mode, comme il ne supporte pas de ftp) aveclftp
etftpsync
.La chose est - vous pouvez utiliser
rsync /path/to/local /path/to/remote/
, et rsync automatiquement la figure, que vous voulez unlocal
sous-répertoire créé en vertu deremote
; toutefois, pourlftp
ouftpsync
vous ont pour spécifier le répertoire cible manuellement, comme dans... /path/to/local /path/to/remote/local
(si elle n'existe pas, il sera créé).Vous pouvez trouver le
ftpserver-cli.py
dans Comment puis-je exploiter temporairement un serveur FTP? - Demander À Ubuntu; etftpsync
est ici: FTPsync (notez toutefois qu'il est buggé; voir aussi Recherche/grep ftp distant noms de fichiers Unix & Linux Stack Exchange);Ici est un abrégé de sortie de la
puttest.sh
script, montrant le récursive mettre de comportement dans différents cas:Et, ici, c'est le
puttest.sh
script:OriginalL'auteur sdaau