Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1220 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  WGET, renommer le fichier téléchargé à la volé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

WGET, renommer le fichier téléchargé à la volé

n°1384830
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 11:33:10  profilanswer
 

Salut,
 
J'ai regardé les docs sur le net mais je ne vois rien, ce n'est peut-être pas possible.
 
J'ai plusieurs images à récupérer sur un site web distant pour les mettre en "cache" sur un autre site. Je vais l'automatiser avec un cron sur le serveur Web.
 
J'utilise -N pour vérifier le timestamp et ne télécharger que si l'image source a changé.
 
Plusieurs de ces images ont le même nom (mais ne sont pas dans le même dossier).
J'aimerai toutes les stocker dans le même dossier sur le serveur de destination.
 
J'aimerai donc, lors du wget, indiquer un nom de sortie. Est-ce possible ?
 
 :jap:


---------------
Vidéo Concorde Air France | www.kiva.org
mood
Publicité
Posté le 21-12-2015 à 11:33:10  profilanswer
 

n°1384831
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 11:35:35  profilanswer
 

Argh, -O !
Désolé... [:groody]


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384832
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 11:47:35  profilanswer
 

Ah, par contre le -N ne fonctionne plus avec le -O
L'image est téléchargée à chaque exécution de la commande, même si le fichier de l'autre côté n'est pas modifié.

 

Ca refonctionne dès que je vire le -O
"Server file no newer than local file `latest.png' -- not retrieving"

 


Auriez-vous une idée svp ?

 


Edit : retour de la commande pas vue avant : " WARNING: timestamping does nothing in combination with -O. See the manual"
Argh


Message édité par Groody le 21-12-2015 à 11:55:50

---------------
Vidéo Concorde Air France | www.kiva.org
n°1384833
_lael_
Posté le 21-12-2015 à 12:08:36  profilanswer
 

MAN wget ? :p
 

Citation :

 -O,  --output-document=FILE    write documents to FILE.


 
Edit: Zut, validé le message avec du retard :o


Message édité par _lael_ le 21-12-2015 à 12:09:24
n°1384834
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 12:17:31  profilanswer
 

:o
merci


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384835
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 12:23:06  profilanswer
 

Je vais donc être obligé de les renommer après récupération. A enchainer dans le script. Tant pis. Vaut mieux limiter la bande passante avec le -N


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384836
_lael_
Posté le 21-12-2015 à 12:36:22  profilanswer
 

Tu peux le faire avec curl sinon:
 
curl http://127.0.0.1/test.png -z test.png -o test.png --location --remote-time --silent
 
En mettant une date plus ancienne sur le fichier avec "touch -d 20010101 test.png" ça le rétélécharge bien
Et en en mettant une plus récente avec "touch -d 20151221 test.png" ça le retélécharge pas. Idem si la date est identique via le --remote-time


Message édité par _lael_ le 21-12-2015 à 12:38:36
n°1384838
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 12:40:08  profilanswer
 

Merci.
 
Les images sources sont mises à jour toutes les minutes, 5m ou x heures en fonction de l'image.
 
Je n'ai pas compris le fonctionnement de touch, mais je vais tester/chercher.
 
Merci :)


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384839
_lael_
Posté le 21-12-2015 à 12:46:35  profilanswer
 

touch c'est juste pour modifier la date du fichier pour valider qu'il était bien écrasé si plus ancien et conservé si plus récent


Message édité par _lael_ le 21-12-2015 à 12:56:35
n°1384840
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 12:58:24  profilanswer
 

Mais la valeur que tu rentres (dans l'exemple de mon script qui tournera tout seul), elle ne changera pas, au bout de 5m ça ne sera plus valide pour les essais suivants ? (j'ai bien dit que je n'ai pas (encore) pigé)


---------------
Vidéo Concorde Air France | www.kiva.org
mood
Publicité
Posté le 21-12-2015 à 12:58:24  profilanswer
 

n°1384842
_lael_
Posté le 21-12-2015 à 13:08:31  profilanswer
 

oublie le passage parlant de "touch" à ce compte-là, c'était juste pour tester.
 
Juste la commande curl t'intéresse :)
 
curl http://127.0.0.1/test.png -z test.png -o test.png --location --remote-time --silent  
 
-z : permet de comparer la date du fichier distant avec le fichier spécifié
-o : où écrire le fichier téléchargé s'il est plus récent que le fichier spécifié via -z
--remote-time : écrire le fichier spécifié dans -o avec la date du fichier distant

n°1384843
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 13:16:32  profilanswer
 

Merci BEAUCOUP ! J'essaie dans l'heure et te tiens au courant


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384845
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 13:35:14  profilanswer
 

Parfait !  [:groody:1]  
 
Merci.
Y a plus qu'à créer le script et le programmer.
 
 [:plat00n]


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384846
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 13:47:07  profilanswer
 

Mmmm, si t'as encore un peu de temps... :o
 
Certaines des images sont des cartographies. J'aimerai enregistrer certaines dans un sous dossier ("animation" ) et les dater quand elles sont mises à jour, ce qui me permettra des les utiliser pour générer une animation.  
 
J'ai regardé dans un manuel en ligne de CURL mais n'ai rien trouvé (ou alors je l'ai mal compris).
T'aurais une méthode ?


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384849
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 21-12-2015 à 16:04:25  profilanswer
 

ben tu fais un timestampage à la volée
 


[ -d animation-$(date +%Y-%m-%d) ] || mkdir $(date +%Y-%m-%d)
curl ....... -o animation-$(date +%Y-%m-%d)/img-$(date +%Y-%m-%d_%H:%M)


 
et tu auras le dossier créé si besoin, avec un par jour + un timestamp à la minute sur chaque fichier


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1384852
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 17:40:20  profilanswer
 

Alors avant de reprendre ta proposition, la suite de la synchro :
 
Certaines images sont grosses (2-3 Mo) et le débit du serveur distant est pas super rapide. Donc au lieu d'écraser le fichier en cours et attendre qu'il se télécharge en entier (posant des problèmes d'affichage côté Web, surtout avec la périodicité courte des synchro), j'ai copié vers fichiers vers "nom-de-fichier-TEMP.png" puis une fois copié j'ai fait un :
mv nom-de-fichier-TEMP.png nom-de-fichier.png
 
 
Black-lord, je regarde comment je peux exploiter ta proposition, et je reviens. Merci


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384853
Groody
Utilisez MES smileys §
Posté le 21-12-2015 à 17:56:42  profilanswer
 

Je n'arrive à rien, ça foire.
 
Comment fais tu avec cet exemple d'URL ?
 
curl "http://serveur-distant.com/image-a-recup.png" -z ~/www.monsite.com/www/datas/Copie-Image.png -o ~/www.monsite.com/www/datas/Copie-Image.png-TEMP.png --location --remote-time


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384857
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 22-12-2015 à 05:47:48  profilanswer
 

je ne vais pas te donner de solution toute faite, mais te donner une piste vers la solution.
 
regarde la commande mktemp, ça te permettra de gerer tes fichiers temporaires.
 
A noter que si ton probleme est le debit, tu risques d'accumuler le retard...


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1384862
Groody
Utilisez MES smileys §
Posté le 22-12-2015 à 10:50:30  profilanswer
 

Les images ont largement le temps d'être récupérées entre 2 MAJ des sources. De toute façon, je synchronise toutes les 2, 5 et 30m en fonction de la source.


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384864
Groody
Utilisez MES smileys §
Posté le 22-12-2015 à 13:01:49  profilanswer
 

Je n'ai pas de prb de fichier temp, avec CURL + le MV après tout va bien.
 
 
J'aimerai pour certaines images, avoir une autre copie dans un dossier spécifique avec une date et heure, ce qui me permet ensuite de les assembler pour créer une vidéo, mais seulement pour les nouvelles images, les modifiées.
Par exemple Image01-20151222.1350.png
 
Et j'ai donc tenté hier avec ton 1er message, mais curl ne veut rien savoir. Tu as mis un -d qui, dans la doc que j'ai trouvé, permet de poster des données lors de la requete.  
 
Le -o que j'utilise déjà ne correspond pas à l'ajout de date.


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384866
_lael_
Posté le 22-12-2015 à 13:50:08  profilanswer
 

black_lord t'a donné la réponse à ta question dans un de ses précédents messages, tu peux utiliser date en faisant varier les variables à % (cf man) pour avoir la date/heure dans le nom du fichier


Message édité par _lael_ le 22-12-2015 à 13:51:27
n°1384868
Groody
Utilisez MES smileys §
Posté le 22-12-2015 à 14:38:40  profilanswer
 

Justement, comme je l'explique audessus, je n'y arrive pas, soit il y a une faute dans l'exemple, soit je m'y prends mal.
Et je ne retrouve aucune notion de gestion de date dans le manuel


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384870
_lael_
Posté le 22-12-2015 à 15:56:02  profilanswer
 

Il ne faut pas chercher dans le manuel de curl, tu dois faire appel au binaire "date" et l'insérer dans ta ligne de commande.
 
Pour reprendre son exemple, dans ton terminal fait:
date +%Y-%m-%d_%H:%M
que tu peux réutiliser sous la forme
$(date +%Y-%m-%d_%H:%M) ou `date +%Y-%m-%d_%H:%M`
dans une autre commande:
echo img-$(date +%Y-%m-%d_%H:%M)
 
et également dans ta commande curl:
curl ... -o img-$(date +%Y-%m-%d_%H:%M).png
 
Après tu peux modifier comme tu l'entends les % en te basant sur le manuel de date

n°1384876
Groody
Utilisez MES smileys §
Posté le 22-12-2015 à 17:59:50  profilanswer
 

merci beaucoup !
Je teste ça tout à l'heure.
 
Re-merci :]


---------------
Vidéo Concorde Air France | www.kiva.org
n°1384885
Groody
Utilisez MES smileys §
Posté le 22-12-2015 à 21:23:29  profilanswer
 

Perfect, j'arrive à créer mon dossier, copier, etc.
 
Messieurs, merci pour le coup de main ! :jap:


---------------
Vidéo Concorde Air France | www.kiva.org
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  WGET, renommer le fichier téléchargé à la volé

 

Sujets relatifs
Est-il possible d'installer Linux dans un fichier unique (type VHD)ajouter une entrée à au fichier de mots de passes .ht : les droits ?
[Résolu] Bash : Récupérer la date de modification d'un fichier[shell command] rediriger vers un fichier date_nomé
Restreindre l’accès à un fichierTrier un fichier texte avec sort
Help pls >>perte de fichier avec davfs2 dans lost+found ??[BATCH] Insertion de texte dans un nom de fichier lors d'un copy
script pour renommer des fichiers de maniere recursiveQuestion permissions fichier, je débute...
Plus de sujets relatifs à : WGET, renommer le fichier téléchargé à la volé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR