# Script shell probleme pour envoyer sur ftp

**URL:** <https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337 "2016-02-21T00:36:37Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/1 "2016-02-21T00:36:37Z")

</div>

bonjour

j essaye de me connecter en FTP de part un script a mon serveur pour lui envoyer une sauvegarde.  
au moment ou il arrive au parametres FTP il m’affiche ceci à l’ecran

> [@](#):
>
> Password:Name (91.121.22.170:olivier):

il ne s’agit pas du bon user, il prend le user de ma session et non celui indiqué dans la variable.  
pourquoi me demande t’il le password alors que je lui indique dans une variable ??

```auto
IP='91.121.22.170'
USER='moi'
PWD='password'
ZIP="/tmp/$(uname -n)-$(date +%F).tar"

CD='/home/olivier/'
function sendftp
{
if [-n "$("$PING" -c1 "$IP" | grep 100%)"]; then
log "backup send to FTP "
fi

ftp -i $IP <<EOF
 quote USER $USER
 quote PASS $PWD
 cd $CD
put $ZIP
EOF
```

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/2 "2016-02-21T00:36:37Z")

</div>

Bonjour,

Pour eviter d’avoir a passe le user et le mot de passe dans le script, tu peux creer le fichier .netrc dans la home du user qui lance le script.

syntaxe du fichier $HOME/.netrc

`machine ftp.machin.fr
login mon_compte
password mon_passwd`

Modification des droits du fichiers

```auto

```

Ensuite dans ton script, tu l’appelle comme ceci :

`ftp -i ftp.machin.fr <<eof!
ls
eof!`

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/3 "2016-02-21T00:36:38Z")

</div>

je vais voir si cela permet de résoudre mon problème.  
merci mikcy979

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/4 "2016-02-21T00:36:38Z")

</div>

cela ne résout pas mon problème sniff… 😠😠 ![:013](https://www.debian-fr.org/uploads/default/original/1X/086709e9e4d48f0fa24e42243bbce857fc2be47f.gif "colere") ![:013](https://www.debian-fr.org/uploads/default/original/1X/086709e9e4d48f0fa24e42243bbce857fc2be47f.gif "colere")

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/5 "2016-02-21T00:36:38Z")

</div>

Bonjour,

As tu un message d’erreur une information ?

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/6 "2016-02-21T00:36:39Z")

</div>

j ai le meme message d erreur  
y a un truc bizarre que je ne comprend pas quand je fais ftp @IP il me marque ceci je rentre aucune information

`zyriuse@sd-2351:~/Script_sh$ ftp 91.121.22.170
Connected to 91.121.22.170.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 7 of 75 allowed.
220-Local time is now 15:52. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
331 User unxi OK. Password required
530 Login authentication failed
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
`

voici l’erreur que le script me produit

`ogin authentication failed
Login failed.
?Invalid command
?Invalid command
You aren't logged in
`

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/7 "2016-02-21T00:36:39Z")

</div>

Bonjour,

Ton fichier netrc ne semble pas correcte :

`331 User unxi OK. Password required
530 Login authentication failed
Login failed.`

Il faut deja que la commande simple “ftp 91.121.22.170” fonctionne avant de pouvoir aller plus loin.

---

<div class="post-metadata">

**Author:** ![zyriuse](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/49beb7/32.png) [@zyriuse](https://www.debian-fr.org/u/zyriuse)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/8 "2016-02-21T00:36:40Z")

</div>

voici mon fichier .netrc

`machine 91.121.22.170
login olivier
password XXXXXX
`

---

<div class="post-metadata">

**Author:** ![kna](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kna/32/5623_2.png) [@kna](https://www.debian-fr.org/u/kna)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/9 "2016-02-21T00:36:42Z")

</div>

Perso j’avais utilisé sur un de mes scripts :

```auto
ftp -n $FTPSERVER << EOF
user $FTPUSER $FTPPASS
(...)
EOF
```

Tu peux aussi utiliser lftp, s’il est installé (paquet du même nom) :

```auto
lftp -u $FTPUSER,$FTPPASS <<EOF
(...)
EOF
```

Note : J’évite d’utiliser d’appeler une variable USER pour ne pas la confondre avec la variable d’environnement qui renvoie l’utilisateur courant.  
Celà dit, si elle est redéfinie dans le script, ça ne devrait pas poser de problème…

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/10 "2016-02-21T00:36:42Z")

</div>

+1 lftp

par exemple dans un script

```auto

```

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 12:36 UTC](https://www.debian-fr.org/t/script-shell-probleme-pour-envoyer-sur-ftp/30337/11 "2016-02-21T00:36:50Z")

</div>

+1 pour lftp moi aussi!  
Sinon, le super script de Misterfreez : [isalo.org/wiki.debian-fr/ind … Client\_FTP](http://www.isalo.org/wiki.debian-fr/index.php?title=Client_FTP)
