Quelle est la syntaxe d'une commande linux qui frappe une URL de manière répétée, un nombre x de fois. Je n'ai pas besoin de faire quoi que ce soit avec les données, j'ai juste besoin de reproduire l'action de rafraîchir 20 fois dans un navigateur.
Réponses
Trop de publicités?Vous pouvez utiliser la substitution de séquence d'URL avec une chaîne de requête fictive (si vous voulez utiliser CURL et économiser quelques frappes) :
curl http://www.myurl.com/?[1-20]
Si vous avez d'autres chaînes de requête dans votre URL, affectez la séquence à une variable à jeter :
curl http://www.myurl.com/?myVar=111&fakeVar=[1-20]
Consultez la section URL de la page de manuel : https://curl.haxx.se/docs/manpage.html
Vous pourriez être intéressé par Banc Apache qui est essentiellement utilisé pour effectuer des tests de charge simples.
exemple :
ab -n 500 -c 20 http://www.example.com/
n = nombre total de demandes, c = nombre de demandes concurrentes
Vous pouvez utiliser toutes les constructions de boucles de bash comme FOR
avec une compatibilité avec Linux et Mac.
https://tiswww.case.edu/php/chet/bash/bashref.html#Looping-Constructs
Dans votre cas spécifique, vous pouvez définir N
itérations, avec N
est un nombre définissant combien de curl
les exécutions que vous voulez.
for n in {1..N}; do curl <arguments>; done
ex :
for n in {1..20}; do curl -d @notification.json -H 'Content-Type: application/json' localhost:3000/dispatcher/notify; done
Si vous voulez ajouter un intervalle avant d'exécuter le cron la fois suivante, vous pouvez ajouter un sleep
pour i dans
{1..100}
; do echo $i && curl " http://URL " >> /tmp/output.log && sleep 120 ; done