Aller au contenu

tache CRON en mutualisé sur OVH


cvmh

Sujets conseillés

Hello

Mon but : récupérer tous les jours à heure fixe un fichier .CSV sur le FTP d'un fournisseur. Ce fichier sera ensuite traité par un script PHP afin de l'intégrer à ma base de données sur mon serveur. Tout fonctionne sauf le fait de lancer cette tâche tous les jours (le script PHP est ok). En cherchant sur le net, j'ai trouvé ce que je cherchais : CRON et OVH semble l'autoriser en mutualisé : Voir page OVH

Comme je comprend, il faut que je crée un script cgi ? Et comment qu'on fait cette bête ? Je dois créer un .cgi qui appelle mon script .php ? Si qq'un avait une réponse à m'apporter ce serait chouette !

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

d'après ce qui est marqué sur la page d'OVH, il suffit que tu envoies un mail à OVH en leur précisant le plan d'hébergement et le nom du domaine, le chemin complet du script et les heures et dates d'execution et c'est OVH qui se chargeront de l'insérer dans la crontab.

Il faut aussi que tu n'oublies par d'ajouter #!/usr/local/bin/php au debut de ton script pour qu'il soit executable en shell (et donc lançable par cron ;-) )

Lien vers le commentaire
Partager sur d’autres sites

Ah c'est aussi bête que ça ? J'avais l'impression en lisant la page qu'il fallait quand même créer dans tous les cas un .cgi.

Je vais envoyer un mail à ovh, on verra bien.

Merci en tout cas et on va dire que c'est à cause de la chaleur que je n'ai pas tout compris aux explications de ovh :)

Lien vers le commentaire
Partager sur d’autres sites

Donc effectivement c'était aussi simple que ça :)

J'en profite pour une autre question : j'appelle donc en CRON un script upload.php qui va chercher un fichier .csv par ftp. Ca marche nickel. Par contre, à la fin de fichier, je suis censé appeler un nouveau script extract.php qui va traiter les informations reçues par FTP. Je pourrais tout mettre dans un seul et même fichier PHP mais 1/pour plus de lisibilité et 2/pour éviter d'atteindre le tps maximal d'exécution de requête , j'ai décidé de passer par plusieurs fichiers.

Pb comment appeler ce script alors qu'il ne lit pas le code html ? J'ai essayé sans succès plusieurs méthodes :

- echo '<meta http-equiv="refresh" content="0; URL=extract.php">';

- <script> location.href="extract.php";</script>

- exec ("php -f extract.php");

Je suis sûr que ça existe mais comment faire...

Lien vers le commentaire
Partager sur d’autres sites

Heuuuu ?? a première vue, vu tes explications, je dirais qu'un simple include de ton 2eme fichier à la fin du 1er devrait suffir à executer les actions contenues dans le deuxieme fichier...

Sinon la deuxième solution c'est d'ecrire un script shell qui appelle successivement tes deux scripts php...

Lien vers le commentaire
Partager sur d’autres sites

Salut,

1/pour plus de lisibilité

Je ne suis pas convaincu mais n'ayant pas le script sous les yeux, je ne peux pas juger...

2/pour éviter d'atteindre le tps maximal d'exécution de requête

Tu mets un

set_time_limit(0);

au début de ton code, et je pense que ce soucis est réglé...

Sinon, je suis désolé de ne pouvoir t'aider pour la question que tu te poses concernant l'éxécution de ton script une fois découpé!

A+

je viens de penser à l'include aussi ... ;)

Modifié par Bourinho
Lien vers le commentaire
Partager sur d’autres sites

Mwarf, un include a l'air de marcher efectivement... pourquoi faire simple, etc....

Je vais attendre demain matin que le script soit véritablement exécuté en CRON histoire d'être sur.

Merci :P

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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