Résolu Crontab => bientôt le suicide -_-"

Solutions (3)
Tags :
  • MySQL
  • Php
  • Select
  • Script
  • Programmation
, Programmation (collector) |
Bonjours a tous ,
j'ai besoin de faire un raquette mysql automatiquement !

donc dans crontab ( avec crontab -e ) j'ai :
  1. * * * * * /var/www/crontab/script.sh


sur le quel j'ai en root appliquer :
  1. chmod 777 script.sh


sript.sh contient :

  1. #! /usr/local/bin/php5
  2. <?php
  3.  
  4. mysql_connect("localhost","sedfzdfzdfzdfzfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfplul","lpdfzdfzfsdfdfdfdsfsdfsdfsdfsdfdlu");
  5. mysql_select_db("warpus");
  6.  
  7. $rq = mysql_query("SELECT * FROM utilisateur");
  8. while($d = mysql_fetch_array($rq))
  9. {
  10. $pierre = $d['pierre']+1000;
  11. $bois = $d['bois']+1000;
  12. $fer = $d['fer']+1000;
  13. mysql_query("UPDATE utilisateur SET pierre='".$pierre."', bois='".$bois."', fer='".$fer."' WHERE id='".$d['id']."'");
  14.  
  15. }
  16.  
  17.  
  18. ?>


j'ai essayer avec
  1. #! /usr/local/bin/php
  2. <?php
  3.  
  4. mysql_connect("localhost","sezdfzdfzdfsdfsdfsdfsdfsdfsdfsdfsdfdsfsdfsul","fezefzefzefdfsdfsdvsdvsdfsfdfzf");
  5. mysql_select_db("warpus");
  6.  
  7. $rq = mysql_query("SELECT * FROM utilisateur");
  8. while($d = mysql_fetch_array($rq))
  9. {
  10. $pierre = $d['pierre']+1000;
  11. $bois = $d['bois']+1000;
  12. $fer = $d['fer']+1000;
  13. mysql_query("UPDATE utilisateur SET pierre='".$pierre."', bois='".$bois."', fer='".$fer."' WHERE id='".$d['id']."'");
  14.  
  15. }
  16.  
  17.  
  18. ?>


mais toujours rien !

quelqu'un a une solution ?
Contenus similaires
  • Autres pages sur : crontab bientot suicide
Meilleure solution
partage
, Ex-AdMiN |
C'est pas très beau ... je te trouve très optimiste comme mec :) 

Donc, si il n'arrive pas à se connecter pas de message d'erreur ? si une requête SQL ne fonctionne pas non plus ? Ca va être sympa à débugguer !

Il faudrait au moins rajouter un test si $rq === false avant de faire la boucle.

Pourquoi faire un SELECT * et pas un SELECT id, pierre, bois, fer FROM utilisateur ? et pourquoi faire un mysql_fetch_array et pas un mysql_fetch_assoc ? tu aimes utiliser de la ram pour rien ?

A noter que tu pouvais très bien faire une seul requete sql et non un script.

un UPDATE pierre=pierre+1000, bois=bois+100, fer+1000. aurait largement suffit.


Pourquoi appeler ton ficher script.sh alors qu'il ne s'agit en rien d'un script sh mais d'un script php ? En ligne 1 tu as #! /usr/local/bin/php et non #!/usr/local/bin/php

A noter que cette ligne est totalement optionnelle si tu avait spécifier l'interpréteur. (php) ce qui est recommandé. Car ainsi tu n'as pas besoin d'avoir un script exécutable. Et la plus part du temps, si tu es très soucieux de la sécurité de ton application, ton code tourne sur une partition où rien n'est exécutable. Enfin ça on peut pas le savoir avant pas mal d'exp.

* * * * * /usr/bin/php /var/www/crontab/script.php

et virer la ligne 1 de ton fichier, elle fait tout planter, et puis pense à ma requête SQL, en 3 lignes de code ton truc fonctionne et beaucoup beaucoup plus rapidement.
  • Commenter cette solution |
Score
0
òh
òi
, Programmation (collector) |
Meilleure réponse sélectionnée par andrelec1.
  • Commenter cette réponse |
Score
0
òh
òi
, Programmation (collector) |
Merci de ta réponse je teste ça toute de suite !
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS