(modifié le 8 mars 2013 à 23:19)

wgetBut : accéder à une page web http via la commande Linux wget en mémorisant le résultat ailleurs que dans le dossier courant

Que ce soit sur de vieilles distributions non à jour ou sur des distributions lite (embarquées) il n'est pas toujours facile d'utiliser d'autres commandes que wget.

Le seul problème de wget est qu'elle enregistre dans le répertoire courant la contenu de la page renvoyée (au format HTML). Il suffit de faire appel à cette fonction régulièrement via crontab pour arriver à saturation du répertoire courant (/root/ par exemple).

La documentation de wget étant très complète, il est possible de diriger le flux de retour vers un fichier log précis, sans rien écrire dans le répertoire courant :

[shell]wget http://unsite.com/unepage.php -a /chemin/vers/wget.log -O /dev/null[/shell]

Par exemple :

[shell]wget http://localhost/ -a /var/log/wget.log -O /dev/null[/shell]

Les arguments

-a logfile : Permet d' enregistrer tous les messages dans logfile, les messages sont ajoutés à la suite du fichier empêchant ainsi d'écraser l'ancien fichier.

-O fichier : Les documents ne seront pas écrits dans les fichiers appropriés, mais tous concaténés les uns aux autres et écrits dans fichier. Si fichier existe déjà, il sera remplacé.

Dans notre cas, nous avons enregistré le résultat dans /dev/null, ce qui revient à ne pas tenir compte du fichier téléchargé (on l'envoit direct dans le néant). C'est utile dans le cas ou vous souhaitez seulement déclencher l'exécution d'un script PHP sans rien attendre en retour.

Si vous disposez d'une distribution incluant la librairie cURL, il est vivement conseillé de l'utiliser en lieu de place de wget (installez-la si nécessaire, elle est sur tous les dépôts).

Au passage, voici une équivalence à wget en PERL :

perl -MLWP::Simple -e 'print get shift' http://www.site.com/

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter