web-dev-qa-db-fra.com

Comment demander un fichier mais ne pas l'enregistrer avec Wget?

J'utilise Wget pour envoyer des requêtes http à un nouveau serveur Web. Je le fais pour réchauffer le cache MySQL. Je ne veux pas enregistrer les fichiers une fois qu'ils sont servis.

wget -nv -do-not-save-file $url

Puis-je faire quelque chose comme -do-not-save-file avec wget?

129
T. Brian Jones

Utilisez l'indicateur q pour le mode silencieux et indiquez à wget de générer une sortie sur la sortie standard avec O- (majuscule o) et de rediriger vers /dev/null pour supprimer la sortie:

wget -qO- $url &> /dev/null

> redirige la sortie de l'application (vers un fichier). Si > est précédé d'une esperluette, Shell redirige toutes les sorties (erreur et normal) vers le fichier à droite de >. Si vous ne spécifiez pas l'esperluette, seule la sortie normale est redirigée.

./app &>  file # redirect error and standard output to file
./app >   file # redirect standard output to file
./app 2>  file # redirect error output to file

si le fichier est /dev/null alors tout est jeté.

Cela fonctionne aussi bien, et plus simplement:

wget -O/dev/null -q $url
237
perreal

Curl le fait par défaut sans aucun paramètre ni indicateur, je l’utiliserais pour vos besoins:

curl $url > /dev/null 2>&1

Curl est plus sur les flux et wget est plus sur la copie de sites basée sur cette comparaison .

41
Oleg Mikheev

Vous pouvez utiliser -O- (majuscule o) pour rediriger le contenu vers la sortie standard ou vers un fichier (même des fichiers spéciaux tels que /dev/null/dev/stderr/dev/stdout)

wget -O- http://yourdomain.com

Ou:

wget -O- http://yourdomain.com > /dev/null

Ou: (même résultat que la dernière commande)

wget -O/dev/null http://yourdomain.com
38
Marco Biscaro