Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

FTP: récupérer le dernier fichier d'une arborescence

4 réponses
Avatar
stephane.albin
Bonjour,

J'ai un r=E9pertoire contenant des fichiers ayant tous la m=EAme r=E8gle
de nommage. Et mon archivage me cr=E9e aussi un lien vers le dernier
fichier cr=E9=E9 :
archive_000
archive_001
archive_002
...
last -> archive_034

A partir de cela, est-il possible de r=E9cup=E9rer par ftp le dernier
fichier ?
Soit directement, soit en passant par le lien last.
Bien s=FBr, si je mets "get last" dans mon script, je n'obtiens pas le
nom de l'archive mais le fichier last.

La seule solution =E0 laquelle je pense est de cr=E9er plut=F4t un
v=E9ritable fichier "last" qui contiendra le nom du dernier fichier. Et
transf=E9rer en premier ce fameux "last" pour conna=EEtre le nom de
l'archive =E0 r=E9cup=E9rer.

Mais je souhaiterais =E9viter 2 transferts ftp. Une id=E9e ?
Je pr=E9cise aussi que cela doit fonctionner avec un ftp de base sur
d'anciens syst=E8mes Irix.

Merci par avance,
St=E9phane Albin

4 réponses

Avatar
Laurent Wacrenier
écrit:
Mais je souhaiterais éviter 2 transferts ftp. Une idée ?
Je précise aussi que cela doit fonctionner avec un ftp de base sur
d'anciens systèmes Irix.


Il faut lire le lien (ou le contenu du fichier) en continuant à
écrire. Ça ne se fait pas avec un seul pipe. Soit tu utilise deux
pipes dont forcément un nommé, soit tu te sert de coprocessus (ksh
doit avoir ça).

Avec une pipe nommée :

# /bin/sh
(
TMP=/tmp/last.$$
mkfifo $TMP || exit 1
echo user ftp toto@
echo prompt
echo dir last $TMP
LAST=`sed 's/.*-> //' < $TMP`
rm -f $TMP
echo get $LAST
) | ftp ftp

Avatar
Nicolas George
wrote in message
:
A partir de cela, est-il possible de récupérer par ftp le dernier
fichier ?
Soit directement, soit en passant par le lien last.
Bien sûr, si je mets "get last" dans mon script, je n'obtiens pas le
nom de l'archive mais le fichier last.


Je suggérerais volontiers d'utiliser zsh et son module zftp, pour n'établir
qu'une connexion, et pouvoir la manipuler en shell :

zfopen serveur
zfcd repertoire
list=`zfdir`
<parser list pour trouver le nom du fichier>
zfget fichier

On doit pouvoir faire la même chose avec curl par exemple, mais ça demandera
deux connexions, une pour obtenir la liste, et une autre pour récupérer le
fichier.

Avatar
Pascal Bourguignon
writes:

Bonjour,

J'ai un répertoire contenant des fichiers ayant tous la même règle
de nommage. Et mon archivage me crée aussi un lien vers le dernier
fichier créé :
archive_000
archive_001
archive_002
...
last -> archive_034

A partir de cela, est-il possible de récupérer par ftp le dernier
fichier ?
Soit directement, soit en passant par le lien last.
Bien sûr, si je mets "get last" dans mon script, je n'obtiens pas le
nom de l'archive mais le fichier last.

La seule solution à laquelle je pense est de créer plutôt un
véritable fichier "last" qui contiendra le nom du dernier fichier. Et
transférer en premier ce fameux "last" pour connaître le nom de
l'archive à récupérer.

Mais je souhaiterais éviter 2 transferts ftp. Une idée ?
Je précise aussi que cela doit fonctionner avec un ftp de base sur
d'anciens systèmes Irix.

Merci par avance,
Stéphane Albin


Utilise sitecopy !

La première fois, il transférera tout le répertoire, et ensuite ils ne
transférera que les modifications.


--
__Pascal Bourguignon__ http://www.informatimago.com/

Nobody can fix the economy. Nobody can be trusted with their finger
on the button. Nobody's perfect. VOTE FOR NOBODY.

Avatar
stephane.albin
Merci pour vos réponses.

Comme il ne m'est pas possible d'installer d'autres logiciels, que ça
doit donc se faire avec le système par défaut, je retiens la
première solution.

Stéphane