Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
recuperation en ftp d'un fichier en fonction de sa date de maj ?
Envoyé par: harry

Bonjour,

mon problème est certainement simple pour vous, mais mes connaissances en shell sont tres limitée :
Voila sur un serveur distant existe toute une serie de fichiers nommés comme suit :
00Z.TXT
01Z.TXT
02Z.TXT
.../...
23Z.TXT

ce sont des fichiers metéo qui sont mis a jours toutes les heures, d'ou la valeur numerique de 00 à 23 et le Z pour zoulou (gmt).
je voudrais créer un batch qui toute les heures aille récuperer le dernier fichier mis a jour.
Soit en fonction de l'heure, mais je ne suis pas sur de l'heure de mon PC, pour moi le + simple serait en fonction de l'heure de maj sur le serveur.
Pour info, les fichiers sont la :
[weather.noaa.gov]
Merci d'avance.

Harry
[www.air-pyrenees-serveur.com]

Poste le Sunday 2 January 2005 22:30:17
Répondre     Citer    
Re: recuperation en ftp d'un fichier en fonction de sa date de maj ?
Envoyé par: Sve@r

Tu es pilote pour t'interresser aux METAR ???

Le programme "ftp" est un mini interpréteur. Lorsque tu le lances, tu te retrouve dans le programme jusqu'à ce que tu tapes "bye" ou "exit". Et tant que tu es dans le programme, tu peux taper des ordres spécifiques comme "get fich" ou "put fich". Mais ce programme n'offre pas d'interface script donc tu peux pas, dans ftp, faire des boucles ou des "if" ou utiliser des variables ou ...

A mon avis, la seule façon que ton idée fonctionne est de préparer d'avance grâce à un script tous les ordres FTP que tu devras exécuter puis d'injecter ces ordres dans le programme "ftp" via un pipe.

Exemple: Imaginons que tu veuilles récupérer le fichier "toto" depuis le serveur "serveur.com", les instructions à taper sont les suivantes:
ftp serveur.com
anonymous
anonymous
ascii
get toto
bye

Eh bien si les 5 dernières lignes sont écrites dans un fichier "action" via un script shell, tu dois pouvoir (j'ai pas testé) faire ensuite:
cat action |ftp serveur.com

Normallement, le programme "ftp" devrait prendre ses instructions non plus du clavier mais du fichier "action". Toute l'astuce du script sera de mettre le bon nom de fichier au "get" (peut-être en fonction de l'heure par exemple)

Poste le Wednesday 5 January 2005 21:56:09
Répondre     Citer    
Re: recuperation en ftp d'un fichier en fonction de sa date de maj ?
Envoyé par: harry

Pilote virtuel effectivement, le réel m'est pas financierement a ma portée :-(

Tout dabors, merci pour ta réponse, voici la solution que j'ai eu dans un autre forum :

#Recupere les fichiers qui ont ete modifies (option -N)
wget -N [weather.noaa.gov]

#Recupere le nom de l'avant dernier fichier et le met dans une variable
Avantder=`ls -t | head -2 | tail -1`

#Fait un copy/rename du fichier en question
cp ${Avantder} metar.txt

On sait jammais, cela peu servir :-)

Poste le Thursday 6 January 2005 08:17:58
Répondre     Citer    
Re: recuperation en ftp d'un fichier en fonction de sa date de maj ?
Envoyé par: Sve@r

Je ne connaissais pas la commande "wget" (on apprend tous les jours). En revanche, je ne vois pas pourquoi tu récupères l'avant dernier et pas le dernier ???

Poste le Thursday 6 January 2005 21:09:07
Répondre     Citer    
Re: recuperation en ftp d'un fichier en fonction de sa date de maj ?
Envoyé par: harry

Pour avoir creusé cette commande elle s'avere extremement puissante :-)

Si je prend pas le dernier, c'est tout simplement que c'est celui qui est en cours de mise a jours, et donc n'est pas encore complet.

Poste le Friday 7 January 2005 00:25:20
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
recuperation en ftp d'un fichier en fonction de sa date de maj ?
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons