IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Cron depuis une page PHP


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 94
    Par défaut Cron depuis une page PHP
    Bonjour bonjour,

    Tout d'abord bonne vacances à ceux qui le sont, et bon courage pour ceux qui ne le sont pas !

    Alors voilà, je développe une application web, et j'ai besoin de mettre en place un "contrôle automatique" sur tel ou tel colonnes de ma base de données.

    Par exemple, l'utilisateur doit pouvoir paramétrer pour une colonne "DATE" (qu'il aura au préalable choisis), l'envoi automatique de mails trois semaine avant cette date par exemple.

    J'ai fouiner un peu sur le web, et je penses que le démon "cron" (sous UNIX) peut répondre partiellement à mes attentes. Il me suffirais juste de paramétrer ce dernier pour qu'il lance un script PHP quotidiennement.

    Mais un point reste tout de même en suspend : est-il possible de paramétrer cron depuis une page PHP?


    Pour résumer mon appli doit pouvoir faire ceci :

    L'utilisateur sélectionne une colonne d'une table de la base de donnée (on suppose qu'il sélectionne une colonne de type date), en fonction de cela, mon application génère un script PHP exécutant un SELECT sur la date et comparant le résultat à la date d'aujourd'hui.
    L'application devras ensuite paramétrer cron pour que ce dernier s’exécute tout les jours.

    Voilà c'est a peu près tout.

    Merci d'avance pour avoir pris le temps de lire mon message !

    Cordialement.

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par Kalas22 Voir le message
    Bonjour bonjour,

    Tout d'abord bonne vacances à ceux qui le sont, et bon courage pour ceux qui ne le sont pas !

    Alors voilà, je développe une application web, et j'ai besoin de mettre en place un "contrôle automatique" sur tel ou tel colonnes de ma base de données.

    Par exemple, l'utilisateur doit pouvoir paramétrer pour une colonne "DATE" (qu'il aura au préalable choisis), l'envoi automatique de mails trois semaine avant cette date par exemple.

    J'ai fouiner un peu sur le web, et je penses que le démon "cron" (sous UNIX) peut répondre partiellement à mes attentes. Il me suffirais juste de paramétrer ce dernier pour qu'il lance un script PHP quotidiennement.
    oui tu peux lancer un php depuis la crontab ii y a souvent des demandes en ce sens sur ce forum. fouilles les archives tu devrais trouver...

    Mais un point reste tout de même en suspend : est-il possible de paramétrer cron depuis une page PHP?
    oui probablement mais j'en vois pas l'interêt premièrement et deuxièmement pourquoi ajouter une potentielle faille de sécurité via un accès root dans la page php ?

    Pour résumer mon appli doit pouvoir faire ceci :

    L'utilisateur sélectionne une colonne d'une table de la base de donnée (on suppose qu'il sélectionne une colonne de type date), en fonction de cela, mon application génère un script PHP exécutant un SELECT sur la date et comparant le résultat à la date d'aujourd'hui.
    L'application devras ensuite paramétrer cron pour que ce dernier s’exécute tout les jours.

    Voilà c'est a peu près tout.
    Merci d'avance pour avoir pris le temps de lire mon message !
    Cordialement.
    pourquoi faire comme ça alors qu'il est bien plus simple de lancer le cron tous les 4 heures par exemple... et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    si colonne date nouvelle = date_reele alors declancher action
    sinon /*rien faire */ fin_si
    à moins que j'ai pas compris ton besoin

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 94
    Par défaut
    C'est peut être moi qui ai mal exprimer mon besoin.

    Effectivement je pourrais coder moi même un script qui contrôle la colonne de type date.

    Mais le soucis, c'est que mon application lors de sa première utilisation est "a poil", et c'est l'utilisateur qui configure le tout (création de la table, ajout de colonnes).

    C'est une fois qu'il à ajouter des colonnes qu'il pourra paramétrer des alertes sur ces dernières.

    Est-ce plus clair?

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    tu veux controler des tables qui n'existent pas encore ... ou dumoins dont la colonne n'as pas été ajoutée à une table existant... (déjà ça fait 2 cas à gérer)....
    à la limite et encore selon le SGBD c'est peut être même pas possible de le faire... il faut sur un triggeur create table ou alter table add column ... (la encore 2 cas à gerer)....
    alimenter une table temporaire ou d'historique et que ton script aille chercher là dedans si il y a une valeur ou pas ...
    si oui
    il faut recuperer dans ton script:
    - le nom de la base / de la table / la fameuse date
    - calculer ta date -3 semaines
    - injecter une ligne de cron qui va lancer un script temporaire
    - générer le script temporaire

    le script temporaire généré doit
    - éliminer du cron la ligne qui l'a lancé...
    - générer la commande SQL ou le script SQL à passer
    - le lancer
    - se supprimer

    et il faut gérer tous les cas d'erreur possible dans ses 3 phases....
    voir ajouter un monitoring de la chaine d'action....

    c'est sacrément l'usine à gaz....

    =============================

    y'a un moyen de simplifer un peu

    utiliser at plutot que cron puisque à chaque date calculée il y a un lancement unique du script spécifique que j'ai appelé au dessus le script généré...


    =============================

    ou beaucoup plus logique :
    - tu demande à tes utilisateurs un MDD de ce qu'ils (v)ont crée
    - tu construis en dur tes scripts primaires.

    et basta y'aura plus qu'à les MAJ comme en exploitation normale de ton appli
    -

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 94
    Par défaut
    Oh la vache...je suis sacrément dans la merde moi.

    Merci pour ta réponse, je vais m'y mettre de suite !

    Pour ta solution la plus logique, j'y ai pensé aussi car il est vrai qu'il serait plus facile/simple de coder en dur les scripts... Mais l'appli à développer doit être utilisable par tout type d'utilisateur, je ne les connais pas à l'avance...



    EDIT : Changement de plan, je vais imposer une colonne "alerte" à mes utilisateurs, je pourrais ainsi coder cela en "dur".

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    tu mets en base quelque part toute les vérif que les utilisateurs on demandé

    tu fais un script php qui lit cette base de vérifs et exécutes celles qui correspondent au critère du moment

    ainsi lorsque un utilisateur ajoute une vérif tu la mets en base
    et lorsque le cron passe il la trouve et l'exécute

    la pricipale dificulté bien définir la façon de décrire une vérif pour que l'utilisatuer puisse décrire sa vérif et le crom l'exécuter.

    perso je n'exécute pas les scrip php depuis le cron mais depuis le serveur html
    je défini une url php sur le serveur et le cron exécute un wget de cette url.
    ainsi le script du cron s'exécute dans les même conditions que les page du serveur php accès au même ressources, même parametres etc.

    A+JYT

Discussions similaires

  1. Cron depuis une page PHP
    Par Kalas22 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/08/2013, 10h05
  2. Réponses: 5
    Dernier message: 01/12/2008, 18h24
  3. Réponses: 6
    Dernier message: 12/08/2007, 11h10
  4. Réponses: 3
    Dernier message: 09/07/2007, 16h37
  5. Programmer un cron depuis une page web.
    Par El Riiico dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 15/03/2006, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo