créer des cron dans un code php

Petit nouveau ! | 1 Messages

12 févr. 2009, 17:34

Bonjour,

Je viens de découvrir les crons. Je trouve ça très interressant, mais je n'arrive pas à trouver comment faire (si c'est possible) pour mettre en place un cron dans un code php.
En gros je voudrais faire une interface, l'utilisateur saisi une date et une heure et je crée un cron pour exécuter un code à cette date et heure.

Merci de votre aide

Palux

Mammouth du PHP | 684 Messages

12 févr. 2009, 18:26

En recherchant 'cron' dans les forums : http://www.webcron.org/
Zigz4g

ViPHP
ViPHP | 1380 Messages

12 févr. 2009, 18:50

Je suppose que la question est comment mettre sur ton serveur un service comparable à webcron.org. Rien de très compliqué.
  • Tu développes une interface web qui permette à un utilisateur de rentrer sa tâche cron avec les fréquences et la commande (j'imagine l'appel d'une page web par curl ou wget pas de commandes rm ou autres commandes système!).
  • Ton application php fait la traduction en format cron et stocke la ligne dans un fichier.
  • Sur ton serveur, tu as un cronjob qui toutes les minutes va faire la commande:

    Code : Tout sélectionner

    * * * * * /usr/bin/crontab -u www-data nom_du_fichier
    Cette tâche cron va injecter dans le crontab de l'utilisateur www-data (ou autre de ton choix) l'ensemble des tâches contenues dans le fichier généré par ton code php.
C'est l'idée de base. Maintenant, si tu as un grand nombre d'utilisateurs, tu as intérêt à stocker leurs tâches dans un table de bdd et ensuite d'en extraire les données vers le fichier plat qui sera injecté dans le crontab.
ripat