# \[resolu\] ftp et dossiers

**URL:** <https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688 "2016-02-20T15:24:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![aka](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@aka](https://www.debian-fr.org/u/aka)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/1 "2016-02-20T15:24:08Z")

</div>

Bonjour a tous.

Existe il un moyen, via une commande ftp simple, de copier le contenu d’un repertoire local vers un serveur distant ?

lftp pourrait surement le faire, mais je ne trouve pas, après longue reflexion, de moyen de réaliser cette opération pourtant simple …

si vous avez des idées 🙂

merci par avance.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/2 "2016-02-20T15:24:09Z")

</div>

c’est pas franchement de la programmation, ça, si ?  
sinon, ftp doit suffire, en utilisant une syntaxe du type

`ftp <un hote> <<EOF
<tout ce que tu taperais dans une session interactive>
EOF`

---

<div class="post-metadata">

**Author:** ![aka](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@aka](https://www.debian-fr.org/u/aka)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/3 "2016-02-20T15:24:09Z")

</div>

si justement, c’est la que rentre en compte la programmation non ?

après \<\<EOF , le mieux est de faire surement un script qui gère tout ca.

ce qui veux dire connection / identification, accès au repertoire voulu puis …

et c’est ici que ça bloque:

la commande pour effectuer une copie de dossier n’existe pas, et le !cp -R effectue la copie sur le client, non sur le serveur …

un script pourrait plagier à ca, mais il faudrait faire a la fois les actions sur le serveur et sur le client ( cd dossier correspondrait à mkdir dossier cd dossier … et meme si c’est un peu fastidieux, je ne trouve oas le moyen d’effectuer des actions a la fois sur le serveur et sur le client de manière synchronisée…)

---

<div class="post-metadata">

**Author:** ![dexmon](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@dexmon](https://www.debian-fr.org/u/dexmon)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/4 "2016-02-20T15:24:10Z")

</div>

salut,  
si c’est juste pour copier un rep vers un hôte distant avec ftp ça doit pouvoir se faire.  
on se place dans le répertoire qu’on veut copier et on fait:

`
ftp (hôte)`  
Une fois connecter tapper ‘help’ ou ‘?’ pour avoir une liste des commandes.

pour envoyer un dossier c `mput le_dossier`

---

<div class="post-metadata">

**Author:** ![aka](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@aka](https://www.debian-fr.org/u/aka)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/5 "2016-02-20T15:24:10Z")

</div>

ça serait trop beau … put n’acepte que les fichiers…

```auto

```

---

<div class="post-metadata">

**Author:** ![stonfi](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/54ee81/32.png) [@stonfi](https://www.debian-fr.org/u/stonfi)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/6 "2016-02-20T15:24:11Z")

</div>

```auto
ftp> ? mput
mput send multiple files
ftp>
```

?

---

<div class="post-metadata">

**Author:** ![dexmon](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@dexmon](https://www.debian-fr.org/u/dexmon)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/7 "2016-02-20T15:24:11Z")

</div>

sorry c bien mput

`
ftp tat.com
prompt
mput -R *.*`

je pense

---

<div class="post-metadata">

**Author:** ![aka](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@aka](https://www.debian-fr.org/u/aka)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/8 "2016-02-20T15:24:11Z")

</div>

y’a effectivement de l’element de réponse, mais ca ne permet que d’envoyer des fichiers multiples, et non pas des repertoires …

ca pourrait le faire dans un petit script peut etre, mais il faudrait pouvoir créer les dossiers et les parcourir en meme temps … et c’est la que je ne vois aps comment faire des commandes locale ET distantes en meme temps…

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/9 "2016-02-20T15:24:11Z")

</div>

[quote=“aka”]si justement, c’est la que rentre en compte la programmation non ?  
(…)[/quote]Bah non, c’est juste de la ligne de commande avancée, mais pas vraiment de la programmation.  
Sinon, le  
 \<\<EOF  
…  
EOF  
revient à faire un premier script (shell) qui fait  
ftp \<nomfichier  
et un deuxiême script nomfichier (ftp celui la) qui fait ce qu’il y a à faire.  
Vaut mieux tout mettre dans un seul script, non ?

Sinon, la commande mput permet de transfèrer plusieurs fichiers avec un pattern, mais je ne sais pas si elle travaille récursivement.

---

<div class="post-metadata">

**Author:** ![aka](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@aka](https://www.debian-fr.org/u/aka)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/10 "2016-02-20T15:24:11Z")

</div>

> [@](#):
>
> Vaut mieux tout mettre dans un seul script, non ?

oui bien évidemment.

> [@](#):
>
> Sinon, la commande mput permet de transfèrer plusieurs fichiers avec un pattern, mais je ne sais pas si elle travaille récursivement.

apparemment non…

et commetn vous feriez pour faire en sorte qu’elle le devienne ? j’avoue ne pas voir

---

<div class="post-metadata">

**Author:** ![ncd](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/dbc845/32.png) [@ncd](https://www.debian-fr.org/u/ncd)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/11 "2016-02-20T15:24:11Z")

</div>

Salut,

Je pense que l’utilisation de rsync serait adaptée à ton cas.  
Si il y à un serveur ftp, il doit y avoir un serveur ssh?

Dans ce cas une sauvegarde d’un repértoire est possible via une connection sécurisée, avec les avantages de la sauvegarde incrémentale, pas de port supplémentaire à ouvrir non plus.

Il suffit d’installer rsync et de configurer le démon sur le serveur, et simplement d’installer le paquet rsync sur le client.

Si ssh est configuré pour ne pas avoir à taper de mot de passe, la sauvegarde peut être ajouté à la table cron.

Voila, si je dis une bétise se sera fait pour aujourd’hui 😃 !

---

<div class="post-metadata">

**Author:** ![dupdup17](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/bbe5ce/32.png) [@dupdup17](https://www.debian-fr.org/u/dupdup17)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/12 "2016-02-20T15:24:12Z")

</div>

je m’incruste pour ssh,j’aimerais envoyer le contenu d’un dossier sur mon serveur,sans se lister les fichiers un a un,cay possible ?

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/13 "2016-02-20T15:24:12Z")

</div>

personnellement, je ferais une séquence de commandes avec echo et find qui produiraient toutes les commandes ftp, les mput et mdir nécessaires au mirroring ftp complet, et j’enverrais le résultat de cette commande dans ftp.

---

<div class="post-metadata">

**Author:** ![dexmon](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@dexmon](https://www.debian-fr.org/u/dexmon)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/14 "2016-02-20T15:24:12Z")

</div>

> [@](#):
>
> je m’incruste pour ssh,j’aimerais envoyer le contenu d’un dossier sur mon serveur,sans se lister les fichiers un a un,cay possible ?

Pour faire une copie récursive d’un répertoire ::

```auto

```

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/15 "2016-02-20T15:24:12Z")

</div>

et si (mais c’est une autre question) il y a un service ssh, la commande scp (de syntaxe similaire à cp) permet des copies récursives:`
scp -r /path/du/rep/local <unuser>@<leserveurdistant>:/path/ou/recopier/a/distance`avec une autentification par clé, il n’y a pas besoin de password.

---

<div class="post-metadata">

**Author:** ![aka](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@aka](https://www.debian-fr.org/u/aka)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/16 "2016-02-20T15:24:12Z")

</div>

mais si on considère le ssh c’est un autre souci … cela ne fonctionne qu’avec les serveurs ayant ce service d’installé … c’est assez restrictif, dommage ( quoi que dans mon cas c’est quand meme bien pratique ^^ )

> [@](#):
>
> personnellement, je ferais une séquence de commandes avec echo et find qui produiraient toutes les commandes ftp, les mput et mdir nécessaires au mirroring ftp complet, et j’enverrais le résultat de cette commande dans ftp.

tu veux donc faireune suite de séquences qui écrivent dans un fichieret passer le-dit fichier en parametre à ftp ?

Et, dans quelle optique pense tu utiliser des find ici ? avec le parametre - exec ?

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/17 "2016-02-20T15:24:13Z")

</div>

non, je redirigerais le résultat de la séquence directement dans ftp (mais je testerais avant la sortie pour voir si elle est cohérente).

Un peu du genre:`
( echo <user>; echo <passwd> ; find /le/rep -type d -exec echo mdir {} \; ; find /le/rep -type f -exec echo mput {} \; ; echo quit ) | ftp <le serveur>`

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/18 "2016-02-20T15:24:14Z")

</div>

bon, j’ai oublié les cd pour faire les mput aux bons endroits, etc. le réel serait plus compliqué.

Sinon, autre solution boeuf: fuse et le ftpfs  
[coagul.org/article.php3?id\_article=466](http://www.coagul.org/article.php3?id_article=466)

---

<div class="post-metadata">

**Author:** ![usinagaz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/u/ecae2f/32.png) [@usinagaz](https://www.debian-fr.org/u/usinagaz)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/19 "2016-02-20T15:24:28Z")

</div>

Bonjour, [[size=117]Rsync[/size]](http://forum.debian-fr.org/viewtopic.php?t=5036) biensur …

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 3:24 UTC](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688/20 "2016-02-20T15:24:28Z")

</div>

[quote=“usinagaz”]Bonjour, [[size=117]Rsync[/size]](http://forum.debian-fr.org/viewtopic.php?t=5036) biensur …[/quote]1/déjà cité  
2/aka ne maitrise pas l’admin du serveur.

[Page suivante](https://www.debian-fr.org/t/resolu-ftp-et-dossiers/5688.md?page=2)
