\n";
echo "\n";
if($max_eff_parc<$loop) {$max_eff_parc=$loop;}
}
echo "\n";
echo "
\n";
echo "\n";
}
else {
$validation_parametres=isset($_POST['validation_parametres']) ? $_POST['validation_parametres'] : (isset($_GET['validation_parametres']) ? $_GET['validation_parametres'] : NULL);
if(!isset($validation_parametres)) {
echo "Paramétrage de l'action memtest \n";
$nombre_machines=count($id_machine);
if($nombre_machines==0){
echo "ERREUR: Il faut choisir au moins une machine.
\n";
echo "Retour au choix des machines sur lesquelles lancer le test de mémoire vive .
\n";
echo "Retour au choix du/des parc(s) .
\n";
include ("pdp.inc.php");
exit();
}
echo "\n";
}
else {
echo "Validation des paramètres du test de mémoire vive \n";
echo "Génération du fichier dans /tftpboot/pxelinux.cfg/ pour la remontée de rapports. \n";
// BOUCLE SUR LA LISTE DES $id_machine[$i]
// Numéro de l'opération de test de mémoire vive:
$num_op=get_free_se3_action_tftp_num_op();
for($i=0;$i ";
$res=mysql_query($sql);
if(mysql_num_rows($res)==0) {
echo "La machine d'identifiant $id_machine[$i] n'existe pas dans 'se3_dhcp'. \n";
}
else {
$temoin_erreur="n";
$lig=mysql_fetch_object($res);
$mac_machine=$lig->mac;
$nom_machine=$lig->name;
$ip_machine=$lig->ip;
if($restriction_parcs=="y") {
$temoin_erreur='y';
for($loop=0; $loopLa machine $nom_machine ne vous est pas déléguée
\n";
}
else {
echo "Génération pour $nom_machine: ";
$corrige_mac=strtolower(strtr($mac_machine,":","-"));
$chemin="/usr/share/se3/scripts";
$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'memtest' '$corrige_mac' '$ip_machine' '$nom_machine'", $retour);
if(count($retour)>0){
//echo "";
//echo "Il semble que la génération du fichier ait échoué... \n";
echo "ECHEC de la génération du fichier \n";
for($j=0;$j \n";
}
$temoin_erreur="y";
//echo "
\n";
}
else {
$sql="DELETE FROM se3_tftp_action WHERE id='$id_machine[$i]';";
$suppr=mysql_query($sql);
$timestamp=time();
$sql="INSERT INTO se3_tftp_action SET id='$id_machine[$i]',
mac='$mac_machine',
name='$nom_machine',
date='$timestamp',
type='memtest',
num_op='$num_op',
infos='';";
$insert=mysql_query($sql);
if(!$insert) {
echo "ECHEC de l'enregistrement dans 'se3_tftp_action' \n";
$temoin_erreur="y";
}
/*
// Génération du lanceur de récupération:
//$dossier="/var/se3/tmp/tftp/$id_machine[$i]";
$dossier="/etc/se3/www-tools/tftp/$id_machine[$i]";
if(!file_exists($dossier)) { mkdir($dossier,0700);}
$lanceur_recup="$dossier/lanceur_recup_rapport_action_tftp.sh";
$fich=fopen($lanceur_recup,"w+");
// On donne 4H pour que la récup soit effectuée:
$timestamp_limit=time()+4*3600;
//fwrite($fich,"/usr/share/se3/scripts/recup_rapport.php '$id_machine[$i]' '$ip_machine' 'rapport' '$timestamp_limit'");
fwrite($fich,"sudo /usr/share/se3/scripts/recup_rapport.php '$id_machine[$i]' '$ip_machine' 'rapport' '$timestamp_limit'");
fclose($fich);
chmod($lanceur_recup,0750);
*/
// Ménage dans les tâches précédentes
@exec("sudo /usr/share/se3/scripts/se3_tftp_menage_atq.sh $id_machine[$i]",$retour);
/*
// Planification de la tâche
//@exec("at -f $lanceur_recup now + 1 minute 2>/dev/null",$retour);
@exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour);
//passthru("at -f $lanceur_recup now + 1 minute",$retour);
if($retour) {
echo "ECHEC de la planification de la tâche. \n";
for($j=0;$j \n";}
//echo "$retour \n";
$temoin_erreur="y";
}
*/
/*
// Avec ça on arrive à récupérer l'info:
// -warning: commands will be executed using /bin/sh -
// -job 1572 at 2008-03-01 15:13 -
// Mais une fois le at repoussé, ce n'est plus www-se3, mais root qui en est proprio...
if(file_exists("$dossier/at.txt")) {
$fp=fopen("$dossier/at.txt","r");
while(!feof($fp)) {
$ligne=fgets($fp,4096);
echo "-".$ligne."-
";
}
fclose($fp);
}
*/
/*
$fp=popen("at -f $lanceur_recup now + 1 minute","r");
while(!feof($fp)) {
$ligne=fgets($fp,4096);
echo "-".$ligne."-
";
}
fclose($fp);
*/
if($temoin_erreur=="n") {
//echo "OK \n";
echo "OK \n";
// Application de l'action choisie:
echo " ";
echo "\n";
echo " \n";
}
}
}
}
}
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
// POUVOIR TAGUER DANS LA TABLE se3_dhcp LES MACHINES QUI PEUVENT BOOTER EN PXE
// Ajouter un champ?
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
// On n'affiche le fichier que pour le dernier (à titre d'info):
if(isset($corrige_mac)) {
//$fich=fopen("/tftpboot/pxelinux.cfg/01-$lig1->mac","r");
$fich=fopen("/tftpboot/pxelinux.cfg/01-$corrige_mac","r");
if($fich) {
echo "Pour information, voici le contenu du fichier généré: \n";
echo "
";
while(!feof($fich)) {
$ligne=fgets($fich,4096);
echo htmlentities($ligne);
}
echo " \n";
fclose($fich);
}
else {
echo "Il n'a pas été possible d'ouvrir le fichier /tftpboot/pxelinux.cfg/01-$corrige_mac
\n";
}
}
}
}
echo "Retour au choix du/des parc(s) .
\n";
}
}
else {
print (gettext("Vous n'avez pas les droits nécessaires pour ouvrir cette page..."));
}
// Footer
include ("pdp.inc.php");
?>