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

Langage PHP Discussion :

Édition crontab par PHP


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Points : 124
    Points
    124
    Par défaut Édition crontab par PHP
    Bonjour à tous.
    Je me permets de poster une demande d'aide désespérée ici...
    En effet je suis à mon dernier jour de stage développement dans une administration.

    J'ai développé un site Internet, créé le batch qui le récupère en ftp et envoie un mail à la BAL Informatique pour confirmer la sauvegarde du site.

    Maintenant j'aimerai éditer la crontab de mon hébergeur (1&1 Linux) pour lancer un fichier PHP qui est atteignable par une URL. Le php à lancer périodiquement fait une copie de l'intégralité du site, un dump des base de données et compresse le tout dans une archive TAR.

    Cependant, au vu des sécurités appliquées au niveau national dans cette administration, l'accès au serveur en SSH est impossible car bloqué.

    Je voulais donc savoir s'il était possible d'éditer une table CRON en passant par PHP.

    J'ai essayé quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    system(sprintf(
      'crontab -e'));
    //ici la commande de ma table CRON à rajouter
    Mais apparemment la fonction crontab -e ouvre vi et mes instructions PHP ne passent plus ensuite.

    Est-il à votre avis possible de lancer une fonction genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system(sprintf(
      'crontab -add (commande cron type * * * * * chemin etc...  )'));
    ou encore écrire ma ligne CRON dans un fichier et une commande de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system(sprintf(
      'crontab -add monfichier.txt'));
    Je sais que la commande add n'existe pas mais c'est pour expliquer le principe.

    (Très intéressant comme stage mais pour un niveau BTS c'est assez costaud par rapport a ce qu'on voit en cours )

    Si vous avez une solution je suis preneur, en attendant je vous remercie déjà de m'avoir lu

    PS : oui j'ai cherché pendant environ 2 demi journées sur internet en vain

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    salut,
    c'est peut être bête ce que je vais dire mais, au lieu d'ajouter un cron (ce qui me paraît pas viable) pourquoi ne pas jouer un shell qui lui va s'en charger?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Points : 124
    Points
    124
    Par défaut
    Comment ca un shell ?

    Le php récupère bien le site, mais la problématique que je rencontre c'est de pouvoir lancer périodiquement ce même fichier PHP.

    En fait je cherche une solution pour automatiser le lancement de ce php :

    Ce n'est pas possible au sein de l'administration car si je lance à partir d'un poste local le navigateur ( ici ie6 ) je suis bloqué car il requiert une authentification proxy donc si je mets un batch local de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "C:\Program Files\Internet Explorer\iexplore.exe http://mondomaine/arborecence/fichiersave.php"
    IE6 ce sera bien se lancé mais sera resté bloqué sur la fenêtre d'authentification du proxy car on ne peut pas entrer en argument de iexplore.exe le login et mot de apsse proxy, d'où mon idée de rajouter dans la table CRON une tâche.

    Maintenant existe t'il d'autres solutions que CRON pour planifier une tâche ?
    Comme je n'ai pas d'accès direct au shell car l'administration bloque le SSH, je m'étais penché sur le php où la commande system permet d'interagir avec le shell.

Discussions similaires

  1. comment acceder a une base active directory par php???
    Par vincenttt dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 08/06/2007, 15h31
  2. connexion à Postgresql par PHP
    Par toome dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 02/09/2005, 10h49
  3. [FLASH MX] photo par php
    Par guy2004 dans le forum Flash
    Réponses: 19
    Dernier message: 09/02/2005, 09h36
  4. Réponses: 2
    Dernier message: 06/01/2005, 21h09
  5. [type MIME] css généré par php -> probleme
    Par prgasp77 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/09/2004, 21h13

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