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

Administration système Discussion :

commande at et php


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Par défaut commande at et php
    Salut, j'essaye d'executer la commande at dans un fichier php avec la commade exec mais sans succès jusqu'ici.
    Dans le fichier php, je cree un fichier txt et un fichier batch.Le fichier batch sera charge de copier de deplacer le fichier txt ver un repertoire à une heure donnée. Je programme l'execution du fichier batch avec la commande systeme at.
    Tout marche sauf la commande at qui apparement ne s'execute pas.
    Voici le code en esperant que vous pouriez m'aider à resoudre ce problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
    $heure=$_GET["heure"];
    $numero=$_GET["numero"];
    $minute=$_GET["minute"];
    $annee=$_GET["annee"];
    $mois=$_GET["mois"];;$jour=$_GET["jour"];
     
     
    if(file_exists('/var/www/clients/client'.$numero.'.txt'))
             { 
     
               unlink('/var/www/clients/client'.$numero.'.txt');
               unlink('/home/charles/scripts/client'.$numero.'txt');
             }
            //  on cree
            if(!file_exists('/var/www/clients/client'.$numero.'.txt'))
             { 
     
               touch('/var/www/clients/client'.$numero.'.txt');
     
               //Ouverture du fichier en lecture et ecriture
               $file = fopen('/var/www/clients/client'.$numero.'.txt', 'r+');
     
               //Et on écrit dans le fichier
               fwrite($file,"allo");
               //Fermeture du fichier
               fclose($file);
     
               //Creation du fichier bash
               $msg="mv /var/www/clients/client$numero /home/charles/doc/";
               touch('/home/charles/scripts/client'.$numero);
     
               //Ouverture du fichier en lecture et ecriture
               $file1 = fopen('/home/charles/scripts/client'.$numero, 'r+');
     
               //Et on écrit dans le fichier batch la commande à executer
               fwrite($file1,$msg);
               fclose($file1); 
     
              //Rendre le fichier executable
               exec('/bin/chmod a+x /home/charles/scripts/client'.$numero); 
              //Execution de la commande at
               if(exec(' /usr/bin/at -f /home/charles/scripts/client'.$numero.' ' .$heure.':'.$minute.' '.$mois.''.$jour.''.$annee.''))
                 {echo 'ok';} else {echo 'ko';}
     
            }
     
    ?>

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    il te fait un "KO" ? Et si oui il te dit quoi, sinon il fait quoi ?

  3. #3
    Membre chevronné Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Par défaut
    Bon la command exec ne retourne pas la valeur de retour :
    Citation Envoyé par PHP Doc
    Return Values

    The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

    To get the output of the executed command, be sure to set and use the output parameter.
    De plus récupérer les messages d'erreur et les lire pourrait sûrement t'aider.

Discussions similaires

  1. [Système] Lignes de commande depuis script PHP
    Par Paulux1 dans le forum Langage
    Réponses: 1
    Dernier message: 31/10/2007, 16h57
  2. [Système] Commande Linux avec php
    Par Tazerty dans le forum Langage
    Réponses: 3
    Dernier message: 30/08/2007, 22h09
  3. [Système] Commande Dos depuis PHP pour MBSA
    Par enath dans le forum Langage
    Réponses: 1
    Dernier message: 08/06/2007, 11h30
  4. commande sudo sous php
    Par Dokho1000 dans le forum Langage
    Réponses: 7
    Dernier message: 03/03/2006, 17h02
  5. [Système] lancer command unix par php
    Par naourass dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2005, 14h07

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