rat-du-net Posté 1 Octobre 2005 Posté 1 Octobre 2005 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 ?
Dan Posté 1 Octobre 2005 Posté 1 Octobre 2005 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
rat-du-net Posté 1 Octobre 2005 Auteur Posté 1 Octobre 2005 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
Formaguidaume Posté 4 Octobre 2005 Posté 4 Octobre 2005 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 ?
rat-du-net Posté 4 Octobre 2005 Auteur Posté 4 Octobre 2005 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
Dan Posté 4 Octobre 2005 Posté 4 Octobre 2005 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
rat-du-net Posté 4 Octobre 2005 Auteur Posté 4 Octobre 2005 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...
destroyedlolo Posté 5 Octobre 2005 Posté 5 Octobre 2005 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
rat-du-net Posté 7 Octobre 2005 Auteur Posté 7 Octobre 2005 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant