Aller au contenu

Sujets conseillés

Posté

Bonjour,

Tous les 1er du mois a 00h00 j'execute une page php grace a wget que j'execute en crontab

voici ma ligne de code :

0 0 1 * * wget -O /dev/null --http-user=USER --http-passwd=MDP URL_DE_LA_PAGE

Le petit probleme est que le script s'est exectuté en boucle hier est ce que mon crontab est pas bon ?

ou alors, pensez vous que si il n'arrive pas a finir d'executer le code php a cause de la limitation de 30s d'execution d'un script php il recommence en esperant que l'execution arrive a se terminer un jour ?

Posté

Qu'appelles-tu "en boucle" ?

Il a tourné en recommençant au début jusqu'à ce que tu l'arrêtes ? Ou il s'est répété une seule fois ?

S'il s'est répété une seule fois, ton serveur a-t-il eu une mise à l'heure à ce moment ? C'est possible si tu as une autre entrée crontab qui fasse un ntpdate à ce moment par exemple.

Dan

Posté

il a tourné en boucle, c'est un script qui envoit un mail a mes membres et ils ont tous recu 6 mails le temps que j'arrete le script.

Et je n'ai aucun script qui modifit l'heure du serveur a ce momment la.

Par contre, il doit envoyer un peux pres 1500 mails les un apres les autres c'est pour ca que j'ai pensé qu'il n'avait peut etre pas pu finir d'executer le script et qu'il recommencait tout le temps.

Bon, en 1h30 le temps que je m'en rende compte, il a envoyé 6x1500 mails ca peut aller mais heureusement que j'ai pu le voir

Posté

Salut,

peut etre qu'il serait plus sage/propre de creer un script .sh

avec une gestion des erreurs pour ce cas avec un timeout par exemple

et un temporisation envoyer 100 mail, attente 10 min etc ... pour pas saturer le serveur

et de le faire executer dans crontab.

non ?

Posté

ah ouais, sa serait super bien !!!

mais je ne sais pas faire de requette sql en .sh ni meme envoyer un mail donc ca limite deja pas mal

Posté

Comme ton crontab est correct, il faudrait savoir si ton hébergeur a changé quelque chose au niveau de Php ?

Ton site est hébergé où ?

Dan

Posté

j'ai un serveur dédié.

si j'execute mon script en clickant sur le lien avec mon navigateur sa fonctionne mais dans un crontab il tourne en boucle...

Posté
Salut,

peut etre qu'il serait plus sage/propre de creer un script .sh

avec une gestion des erreurs pour ce cas avec un timeout par exemple

et un temporisation envoyer 100 mail, attente 10 min etc ... pour pas saturer le serveur

et de le faire executer dans crontab.

non ?

<{POST_SNAPBACK}>

Y'a meme beaucoup plus simple : faire directement execute ton PHP dans le cron :)

Il suffit simplement que ton script soit executable et de rajoute au debut du scripts

#!/usr/local/bin/php
<?
mon code php ...

Il faut bien sur que ton PHP ait ete aussi compile en CLI.

C'est ainsi que tourne tout mes long batchs des mes sites et ca ne pause aucun probleme :fete:

Posté

il n'est pas compilé en CLI, je l'ai installé avec un apt-get

je crois que je vais essayer d'optimiser mon script pour qu'il envoit un seul mail en mettant les adresses mail en CCI.

L'execution du script sera plus rapide et peut etre qu'il ne tournera plus en boucle

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...