2011-03-17 6 views
3

Je dois créer un script bash qui se connecte à un serveur FTP, télécharge un fichier et ferme la connexion. Habituellement, ce serait une tâche facile, mais je dois spécifier des paramètres de proxy spécifiques, ce qui rend difficile.Paramètres du client FTP basé sur le texte derrière un proxy

Je peux me connecter à l'amende FTP en utilisant un client GUI-à-dire Filezilla avec les paramètres suivants:

Proxy Settings 
-------------- 
FTP Proxy : [email protected] 
Proxy Host: proxy.domain.com 
Proxy User: blank 
Proxy Pass: blank 

Proxy Settings

FTP Settings 
------------ 
Host : 200.200.200.200 
Port : 21 
User : foo 
Pass : bar 

FTP Settings

Ce que je ne peux pas sembler faire est de répliquer ces paramètres dans un client ftp basé sur le texte, c'est-à-dire ftp, lftp etc. Quelqu'un peut-il aider à configurer ce script?

Merci d'avance!

Répondre

4

Selon le docs, lftp doit prendre en charge la variable d'environnement ftp_proxy, par ex.

ftp_proxy=ftp://proxy.domain.com lftp -c "cd /upload; put file" ftp://200.200.200.200 

Si cela fonctionne, vous pouvez mettre

export ftp_proxy=ftp://proxy.domain.com 

dans vos fichiers de configuration du shell, ou

set ftp:proxy=ftp://proxy.domain.com 

dans votre ~/.lftprc.

Vous pouvez également exécuter les commandes exécutées par votre client FTP GUI, par ex.

upload.lftp

USER [email protected] 
PASS ... 
PUT ... 

Et l'exécuter en utilisant -s:

lftp -s upload.lftp 200.200.200.200 

Ou essayez curl -T (docs) ncftpput (docs).

Quelque chose comme:

FTP_PROXY=ftp://proxy.domain.com curl -T uploadfile -u foo:bar ftp://200.200.200.200/myfile 

pourrait fonctionner.

+0

Mikel: J'ai essayé les deux méthodes sans trop de chance. J'ai ajouté quelques captures d'écran, puis peut aider? – schone

+0

@schone: Ah, on dirait qu'il utilise un proxy FTP, pas un proxy HTTP. Pouvez-vous essayer d'utiliser 'ftp_proxy = ftp: //proxy.domain.com lftp ...'? – Mikel

+0

Brillant! Ça marche! J'ai fait ce qui suit: $ export ftp_proxy = proxy.domaine.com $ lftp utilisateur: [email protected] :) Merci! – schone