Voici une approche :
$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF
Sinon, créez (ou modifiez) le fichier ~/.netrc dans le répertoire personnel de l'utilisateur qui exécutera la commande ftp, donnez-lui les permissions appropriées (chmod 0600 ~/.netrc
), et ajoutez ce qui suit :
# ~/.netrc
machine ftp.example.com
login user
password secret
Ensuite, omettez les informations de connexion, comme dans :
$ echo put my-local-file.txt | ftp ftp.example.com
Voici également comment vous pourriez faire la même chose en utilisant curl :
$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret
Je peux recommander ftp-upload
. C'est un petit outil sympa que vous pouvez installer sous ubuntu via sudo apt-get install ftp-upload
.
Exemple d'utilisation :
ftp-upload -h {HOST} -u {USERNAME} --password {PASSWORD} -d {SERVER_DIRECTORY} {FILE_TO_UPLOAD}
Vous devez corriger l'URL indiquée dans votre relevé. Vous avez reçu l'erreur car l'URL était incomplète - il manquait le nom de l'objet que vous téléchargez. Une fois que vous avez ajouté le nom de fichier après 'example.com' comme je l'ai fait ci-dessous, vous verrez que la commande unique fonctionne effectivement comme prévu.
Essayez ceci :
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt