Cron job fonctionne à plusieurs resockets, pourquoi?

Pourquoi ce travail de cron est-il exécuté à plusieurs resockets au fil du time et que puis-je faire pour l'arrêter?

J'ai un travail de cron qui est supposé fonctionner à 4 heures par jour. Il frappe un script php qui exécute une parsing quotidienne des données et, dans des conditions normales, s'exécute une fois (prenant environ 2 à 3 minutes pour terminer) et quitte. Il a travaillé, mais dernièrement, il fonctionne correctement sur le moment où le server tombe en panne. J'ai enquêté et trouvé ce qui suit. L'input crontab ressemble à ceci:

* 4 * * * /usr/bin/wget -q -O /dev/null 'http://123.456.78.90/index/thing?param=1' 

Dans mon file journal, je vois:

 123.456.78.90 - - [28/Nov/2012:04:00:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)" 123.456.78.90 - - [28/Nov/2012:04:01:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)" 123.456.78.90 - - [28/Nov/2012:04:02:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)" // and then later it ends with (note that it isn't trying every minute now) 123.456.78.90 - - [28/Nov/2012:05:28:09 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4182 "-" "Wget/1.12 (linux-gnu)" 123.456.78.90 - - [28/Nov/2012:05:29:36 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4182 "-" "Wget/1.12 (linux-gnu)" 123.456.78.90 - - [28/Nov/2012:05:29:00 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4182 "-" "Wget/1.12 (linux-gnu)" 123.456.78.90 - - [28/Nov/2012:06:06:51 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)" 123.456.78.90 - - [28/Nov/2012:06:06:53 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)" 

Pourquoi cela montrerait-il des opérations répétées comme celle-ci? Est-ce que cela n'atteint pas quelque chose, donc ça continue d'essayer? Toute aide est appréciée car cette chose multiple est nouvelle pour moi.

3 Solutions collect form web for “Cron job fonctionne à plusieurs resockets, pourquoi?”

On dirait que vous l'exécutez toutes les minutes de la quasortingème heure du jour. Donc, 60 copys de wget sont déclenchées.

 * 4 * * * ..... 

Ils prennent alors la durée qu'ils prennent. Avec 60 exemplaires en cours d'exécution, c'est probablement un bon moment, expliquant pourquoi certaines requests finissent des heures plus tard.

Si vous voulez vraiment qu'il ne fonctionne qu'une seule fois à exactement 4 heures du matin, utilisez:

 0 4 * * * ..... 

Si vous voulez que wget fonctionne chaque jour à 4h du matin, je vous suggère de changer votre travail de cron pour ressembler à ceci:

 0 4 * * * /usr/bin/wget -q -O /dev/null 'http://123.456.78.90/index/thing?param=1' 

http://www.adminschoice.com/crontab-quick-reference

Je suggère de réparer ce premier rapport puis de signaler si vous voyez toujours un problème. Merci.

http://www.gnu.org/software/wget/manual/wget.html

Wget a été conçu pour la robustesse sur des connections réseau lentes ou instables; Si un téléchargement échoue en raison d'un problème de réseau, il continuera à réessayer jusqu'à ce que le file entier soit récupéré. Si le server prend en charge le regettage, il requestra au server de continuer le téléchargement d'où il s'est arrêté.

Je soupçonnais que le timeout d'attente (la valeur par défaut est de 900 secondes) et la réactivation.

  • Escape a! Dans le paramètre de mot de passe de wget
  • Pourquoi wget ne vérifie pas les certificates SSL?
  • Traitement du code d'erreur de Wget 5xx
  • Crontab répète toutes les 15 minutes
  • Pourquoi le time nécessaire pour exécuter ce script diffère-t-il entre l'user et le système et comment corriger l'écart?
  • Comment puis-je canaliser la sortie de time de disponibilité / df pour boucler?
  • Pourquoi une seule command wget fonctionne-t-elle dans mon crontab?
  • Comment puis-je corriger les erreurs de certificate lors de l'exécution de wget sur une URL HTTPS dans Cygwin Windows?
  • Comment download des images d'un server à l'autre
  • Erreur de Wget et Curl pour résoudre certains domaines
  • Pourquoi une seule commande wget fonctionne-t-elle dans mon crontab?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.