web-dev-qa-db-fra.com

Comment puis-je transférer des fichiers d'un serveur à un autre via FTP?

Comment puis-je transférer des fichiers distants d'un serveur FTP directement vers un autre serveur FTP?

12
KoolKabin

Vous pouvez utiliser un programme FTP prenant en charge le protocole protocole FXP et vos deux serveurs doivent également le prendre en charge. Voici quelques applications FTP prenant en charge le protocole FXP:

Une méthode alternative non-FXP pourrait consister à utiliser WinSCP à l'aide de pousser et tirer .

12
paulmorriss

Vous pouvez utiliser une application telle que WebDrive, qui monte les lecteurs FTP distants comme s'il s'agissait de lecteurs locaux (appelée "lecteur virtuel"), puis faites simplement glisser les fichiers d'un lecteur virtuel à l'autre sur votre propre machine.

Comment ça marche

  1. Téléchargez WebDrive ici. (Mac ou Windows, essai gratuit de 20 jours)
  2. Indiquez les détails FTP de votre serveur http://example.com pour créer le premier lecteur virtuel.
  3. Indiquez les détails FTP de votre serveur http://example.org pour créer le deuxième lecteur virtuel.
  4. Accédez aux fichiers que vous souhaitez copier sur le premier lecteur virtuel et faites-les glisser vers le deuxième lecteur virtuel.

WebDrive les copie depuis le premier emplacement FTP sur votre machine (vous ne voyez pas cette étape; cela se produit en arrière-plan), puis les copiez dans le deuxième emplacement FTP pour vous. C’est ce qui se rapproche le plus de la copie directe entre serveurs FTP, sans utiliser le protocole FXP, qui n’est pas encore largement supporté.

Alternatives WebDrive
En plus de WebDrive, vous voudrez peut-être également considérer Transmit (Mac uniquement) ou Expandrive (Mac et Windows), qui offrent tous deux le même disque distant. fonction de montage. (J'utilise quotidiennement la fonction Disque de Transmit pour enregistrer des images optimisées directement sur le serveur FTP directement à partir de Photoshop/Fireworks. C'est génial, mais Expandrive et WebDrive le font également.)

5
Nick

EDIT: Je viens de voir que vous utilisez Windows. Vous aurez besoin de quelque chose comme Cygwin pour émuler le toolkit Unix sous Windows. Vous pouvez également utiliser quelque chose comme WinSCP.

Comme l'a souligné alexus, la PCS est une excellente option. Une autre option est celle de Unix/Linux rsync (disponible sur presque toutes les machines Unix). C'est un utilitaire fréquemment utilisé pour les sauvegardes.

Pour transférer entre deux serveurs, abc.com et xyz.com:

rsync -avzPe ssh [email protected]:/source/ /destination/on/abc

Un exemple plus pratique:

rsync -avzPe ssh [email protected]:~/public_html/ ~/public_html/

Quelques notes: L'exemple ci-dessus suppose que vous êtes connecté au serveur abc.com . Si vous voulez aller dans l'autre sens, changez les arguments. L'utilisateur ( admin dans ce cas) doit également disposer d'un accès SSH approprié. Enfin, les drapeaux que j'ai utilisés ne sont pas forcément les seuls à fonctionner, ils sont simplement ceux que j'ai tendance à utiliser. Vous pouvez techniquement vous passer de - v et - P , vous verrez simplement une sortie de console moins utile.

1
Dan Simmons

Si vous avez un accès SSH au serveur source, vous pouvez vous y connecter et utiliser la commande ftp pour démarrer une session FTP avec le serveur de destination. Vous devrez utiliser la ligne de commande pour taper les commandes ftp, mais ce n’est pas trop difficile et vous pouvez trouver des tutoriels en ligne à ce sujet. Par exemple: http://linux.about.com/od/commands/l/blcmdl1_ftp.htm

1
Ewan Heming

Si vous avez un accès SSH, le meilleur moyen consiste à utiliser la commande tar NIX (compresser), puis à utiliser scp pour le transférer sur le nouvel hébergement, puis à nouveau à l'aide de tar pour décompresser et conserver une copie sur votre disque local à des fins de sauvegarde.

1
alexus