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
<?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';}
}
?>
Poste le Monday 16 February 2009 16:10:55