Planifier une tache unix en php ?

jerryone3 Messages postés 58 Statut Membre -  
jerryone3 Messages postés 58 Statut Membre -
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. sudmeteo
     
    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
    0
  2. jerryone3 Messages postés 58 Statut Membre 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 ^^
    0