OVH Cloud OVH Cloud

souci wget et timestamp

4 réponses
Avatar
Thierry Boudet
Bonjour.

Je viens de tomber sur un comportement un peu étrange de wget (dans
Debian Etch), qui me semble un bon bug. En gros, je récupère par
cette ligne de commande un fichier distant:

wget -N --output-document=/tmp/essai.txt http://serveur/essai.txt

Jusque là, tout allait bien... J'avance dans mon script, et là, crac.
Séquence bug:

Je nettoie.
$ rm /tmp/essais.txt ./essais.txt
rm: ne peut enlever `./essais.txt': Aucun fichier ou répertoire de ce type

Je prends le fichier.
$ wget -N -nv -O /tmp/essais.txt http://custom/essais.txt
17:11:32 URL:http://custom/essais.txt [59/59] -> "/tmp/essais.txt" [1]
$ ls -l /tmp/essais.txt
-rw-r--r-- 1 lpc lpc 59 2005-09-30 16:44 /tmp/essais.txt

Je le déplace.
$ cp /tmp/essais.txt .
$ rm /tmp/essais.txt

Je veux le reprendre, puisqu'il N'est PLUS à
l'emplacement de destination.
$ wget -N -nv -O /tmp/essais.txt http://custom/essais.txt

On voit bien qu'il n'a rien fait, d'ailleurs, si je
relance sans l'option -nv, le message est:
"Le fichier du serveur n'est pas plus récent que le
fichier local « essais.txt » -- pas de récupération."

Seulement, voilà, il m'a écrasé le fichier chargé
au début de l'expérience.
$ ls -l /tmp/essais.txt
-rw-r--r-- 1 lpc lpc 0 2005-09-30 17:11 /tmp/essais.txt


Est-ce moi qui ai un problème de compréhension des options
de wget, ou ce comportement est-il anormal ? Et ensuite,
existe-il un workaround ?

Merci de votre attention.

--
Je ne connaît plus exactement le détail, mais à un moment on rajoute de
l'acide sulfurique molaire et le seul commentaire que mon prof ait dit à
été : « À partir de maintenant, il ne fait plus boire le contenu de la
bouteille. »

4 réponses

Avatar
Thierry Boudet
On 2005-09-30, Thierry Boudet wrote:

Je viens de tomber sur un comportement un peu étrange de wget (dans
Debian Etch), qui me semble un bon bug. En gros, je récupère par


Linux debian 2.6.12-1-686 #1 Tue Sep 6 15:10:40 UTC 2005 i686
GNU Wget 1.10.1

Reproductible sur Slackware 10

:~/Essais$ uname -a ; wget -V
Linux pouffre 2.4.26 #6 Mon Jun 14 19:07:27 PDT 2004 i586
GNU Wget 1.9.1

:~/Essais$ rm /tmp/essais.txt essais.txt
rm: cannot remove `/tmp/essais.txt': No such file or directory
rm: cannot remove `essais.txt': No such file or directory
:~/Essais$ wget -N -nv -O /tmp/essais.txt http://custom/essais.txt
17:29:32 URL:http://custom/essais.txt [59/59] -> "/tmp/essais.txt" [1]
:~/Essais$ cp /tmp/essais.txt .
:~/Essais$ rm /tmp/essais.txt
:~/Essais$ wget -N -nv -O /tmp/essais.txt http://custom/essais.txt
:~/Essais$ ls -l /tmp/essais.txt
-rw-r--r-- 1 tth users 0 2005-09-30 17:30 /tmp/essais.txt


--
merci Groups.Google :)
<< Par contre essayez un peu celui-là: http://www.mygale.org/~azerty0/tdc.html
Là on apprend ce que c'est qu'un vrai KoWb0yZ ! Sam. >>
fr.comp.os.linux - 05 Feb 1998, posté par Samuel Hocevar

Avatar
Bob qui Trolle
Thierry Boudet wrote:
On 2005-09-30, Thierry Boudet wrote:

Je viens de tomber sur un comportement un peu étrange de wget (dans
Debian Etch), qui me semble un bon bug.



Je me demande s'il ne faut pas regarder du côté de --no-clobber. J'avoue
avoir du mal à imaginer comment --output-document et --no-clobber vont
se cumuler dans certains cas.

"When -nc is specified, this behavior is suppressed, and Wget will
refuse to download newer copies of file. Therefore, ''"no-clobber"'' is
actually a misnomer in this mode---it's not clobbering that's prevented
(as the numeric suffixes were already preventing clobbering),"

strace devairt pouvoir aider aussi.


Avatar
Thierry Boudet
On 2005-09-30, Bob qui Trolle wrote:

Je viens de tomber sur un comportement un peu étrange de wget (dans
Debian Etch), qui me semble un bon bug.



Je me demande s'il ne faut pas regarder du côté de --no-clobber. J'avoue
avoir du mal à imaginer comment --output-document et --no-clobber vont
se cumuler dans certains cas.


J'avoue avoir du mal à comprendre comment ces options interagissent,
et le traducteur de la manpage aussi, je trouve. Mais c'est clair,
pour déterminer qui est le plus récent, il NE state PAS le fichier
destination, mais l'éventuel fichier du même nom qu'il trouve, dans le
répertoire courant . Par contre, vu qu'il est absent, il le crée.

"When -nc is specified, this behavior is suppressed, and Wget will
refuse to download newer copies of file. Therefore, ''"no-clobber"'' is
actually a misnomer in this mode---it's not clobbering that's prevented
(as the numeric suffixes were already preventing clobbering),"


Avec ça on est bien avancé :)

strace devairt pouvoir aider aussi.


C'est ce que je vais faire quand j'aurais le temps. En attendant,
curl me parait plus fiable.

--
" Qu'est ce que vous regardez ? C'est la carte routière ?
- Non, c'est la carte des vins, c'est pour éviter les bouchons "
-*- Raymond Devos -*-



Avatar
Bob qui Trolle
Thierry Boudet wrote:

Avec ça on est bien avancé :)


Effectivement, à la lecture de la manpage, j'ai le profond sentiment que
wget est conçu pour pouvoir répondre à différentes problématiques ne
reposant pas toutes sur les mêmes postulats : GNU se mettrait-il à faire
du soft "convivial" ?