Planifier une tache unix en php ?

Hello a tous :)

Voila, je cherche à planifier l'exécution d'un script php, via... un autre script php.

Je suppose qu'il y a une commande simple en unix, à utiliser avec exec(), qui me permette de dire "a telle heure tel jour, lance ce fichier php" ou "dans 5 min, lance ce fichier php". Mais je ne suis pas parvenu à trouver laquelle

Une petite question supplémentaire, est-ce possible également de transférer des paramètres en GET de cette façon ?

Merci d'avance !

2 réponses

  1. Salut, et merci de ta réponse !

    Je connais bien le cron. Seulement, comment créer un cron en ligne de commande, sans devoir confirmer, enregistrer le fichier crontab, ou un truc comme ça ?

    est-ce que deux lignes successives, de type :
    exec("crontab -e");
    exec("10 00 * * * php /lien/vers/ton/fichier.php");

    suffiraient ?

    Ca m'étonnerait que ça se passe comme ça ^^
    1. Salut,

      Si ton script est sur ton ordi (en local) et que tu utilises ubuntu:
      crontab -e
      


      Ensuite, tu peux écrire un cron:
      Je te donne un exemple:
      10 00 * * * php /lien/vers/ton/fichier.php
      


      Ce cron exécutera ton fichier "fichier.php" situé dans " /lien/vers/ton/" tous les jours à 10h00

      Si ce script n'est pas sur ton ordi, pas de problème j'ai une solution que j'utilise et qui marche très bien :)

      41 01 * * * wget --spider --tries=1 http://www.site.com/scripts/fichier.php
      


      Ce cron exécutera la page http://www.site.com/scripts/fichier.php tous les jours à 01h41.

      wget permet d'enregistrer et donc d'exécuter la page
      l'option --spider permet de supprimé la page directement après sa sauvegarde sur ton ordi
      l'option --tries==1 permet d'exécuter la page qu'une seule fois en cas d'erreur si le chargement est trop long

      Je te conseille d'approfondir tes recherches sur le cron de linux et wget :)

      Cldt