#!/usr/bin/php =$limite) { if(file_exists($lanceur_recup)) { unlink($lanceur_recup); } // ERREUR A TESTER // INSERER UN RAPPORT COMME QUOI L'ACTION EST ABANDONNEE... $creation_table=creation_tftp_tables(); if(!$creation_table){ echo "Erreur lors de la création de la table 'se3_tftp_rapports'\n"; } else{ //$sql="SELECT * FROM se3_tftp_action WHERE id='$id_machine';"; $sql="SELECT * FROM se3_dhcp WHERE id='$id_machine';"; $info_machine=mysql_query($sql); if(!$info_machine){ echo "La machine n°$id_machine n'existe pas dans la table 'se3_dhcp'.\n"; # Insérer dans une table rapport $sql="INSERT INTO se3_tftp_rapports SET id='$id_machine', name='', mac='', date='".timestamp_to_mysql_date($instant)."', tache='$nature', statut='ECHEC', descriptif='Abandon: date limite de récupération atteinte.';"; //echo $sql; $insert=mysql_query($sql); if(!$insert){ echo "ERREUR sur $sql\n"; } } else{ $lig_machine=mysql_fetch_object($info_machine); $mac_machine=$lig_machine->mac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); // Insérer dans une table rapport $sql="INSERT INTO se3_tftp_rapports SET id='$id_machine', name='$nom_machine', mac='$mac_machine', date='".timestamp_to_mysql_date($instant)."', tache='$nature', statut='ECHEC', descriptif='Abandon: date limite de récupération atteinte.';"; //echo $sql; $insert=mysql_query($sql); if(!$insert){ echo "ERREUR sur $sql\n"; } if($corrige_mac!="") { if(file_exists("$tftp_pxelinux_cfg/01-$corrige_mac")) { unlink("$tftp_pxelinux_cfg/01-$corrige_mac"); } } } // Supprimer l'entrée dans se3_tftp_action $sql="DELETE FROM se3_tftp_action WHERE id='$id_machine';"; $nettoyage=mysql_query($sql); if(!$nettoyage){ echo "ERREUR lors de la suppression de l'action sur\n $sql\n"; } } exit(); } // Le fichier à récupérer diffère d'une action à l'autre: switch($nature) { case "restauration": $url="http://$ip/~hacker/resultat_restauration.txt"; //wget --tries=1 http://$ip/~hacker/resultat_restauration.txt if(@exec("ping ".$ip." -c 1 -w 1 | grep received | awk '{print $4}'")) { if($fl=@file($url)){ // Terminé... on renseigne une table $statut=trim($fl[0]); //if("$statut"=="SUCCES") { $descriptif=""; for($i=1;$imac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); # Insérer dans une table rapport $sql="INSERT INTO se3_tftp_rapports SET id='$id_machine', name='$nom_machine', mac='$mac_machine', date='".timestamp_to_mysql_date($instant)."', tache='$nature', statut='$statut', descriptif='".addslashes($descriptif)."';"; //echo $sql; $insert=mysql_query($sql); if(!$insert){ echo "ERREUR sur $sql\n"; } # Insérer dans une table sauvegarde si il s'agit d'une sauvegarde } } // Ménage: //rm -f resultat_restauration.txt // Celui-là est récupéré où? en /tmp? if(file_exists($lanceur_recup)) { //unlink($lanceur_recup); if(!unlink($lanceur_recup)){ echo "La suppression de $lanceur_recup a échoué.\n"; } } if($corrige_mac!="") { if(file_exists("$tftp_pxelinux_cfg/01-$corrige_mac")) { unlink("$tftp_pxelinux_cfg/01-$corrige_mac"); } } // Supprimer l'entrée dans se3_tftp_action $sql="DELETE FROM se3_tftp_action WHERE id='$id_machine';"; $nettoyage=mysql_query($sql); if(!$nettoyage){ echo "ERREUR lors de la suppression de l'action sur\n $sql\n"; } exit(); } else { # On remet à plus tard... #at +f 1 minute $0 $* //exec("at +f 1 minute $lanceur_recup",$retour); //@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); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$imac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); # Insérer dans une table rapport $sql="INSERT INTO se3_tftp_rapports SET id='$id_machine', name='$nom_machine', mac='$mac_machine', date='".timestamp_to_mysql_date($instant)."', tache='$nature', statut='$statut', descriptif='".addslashes($descriptif)."';"; //echo $sql; $insert=mysql_query($sql); if(!$insert){ echo "ERREUR sur $sql\n"; } if($statut=="SUCCES"){ $url="http://$ip/~hacker/partitionnement.out"; //wget --tries=1 http://$ip/~hacker/resultat_restauration.txt $partitionnement=""; if(@exec("ping ".$ip." -c 1 -w 1 | grep received | awk '{print $4}'")) { if($fl=@file($url)){ for($i=1;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i0) { $partitionnement.="___+*+___"; //$partitionnement.="___+-+___"; } for($j=0;$jmac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); $statut="SUCCES"; $descriptif=$partitionnement; //if($descriptif!="") {$descriptif.="\n";} if($descriptif!="") { $descriptif.="\n"; } $descriptif.="___FIN_PARTITIONNEMENT___"; $descriptif.="\n"; $descriptif.=$infos; if($infos!="") { $descriptif.="\n"; } $descriptif.="___FIN_INFOS_DF___"; $descriptif.="\n"; if(count($sauvegardes)>0) { if($descriptif!="") {$descriptif.="\n";} for($i=0;$i0) { $creation_table=creation_tftp_tables(); if(!$creation_table){ echo "Erreur lors de la création de la table 'se3_tftp_sauvegardes'\n"; } else{ for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$imac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); # Insérer dans une table rapport $sql="INSERT INTO se3_tftp_rapports SET id='$id_machine', name='$nom_machine', mac='$mac_machine', date='".timestamp_to_mysql_date($instant)."', tache='$nature', statut='$statut', descriptif='".addslashes($descriptif)."';"; //echo $sql; $insert=mysql_query($sql); if(!$insert){ echo "ERREUR sur $sql\n"; } # Insérer dans une table sauvegarde si il s'agit d'une sauvegarde } } // Ménage: //rm -f resultat_restauration.txt // Celui-là est récupéré où? en /tmp? if(file_exists($lanceur_recup)) { //unlink($lanceur_recup); if(!unlink($lanceur_recup)){ echo "La suppression de $lanceur_recup a échoué.\n"; } } if($corrige_mac!="") { if(file_exists("$tftp_pxelinux_cfg/01-$corrige_mac")) { unlink("$tftp_pxelinux_cfg/01-$corrige_mac"); } } // Supprimer l'entrée dans se3_tftp_action $sql="DELETE FROM se3_tftp_action WHERE id='$id_machine';"; $nettoyage=mysql_query($sql); if(!$nettoyage){ echo "ERREUR lors de la suppression de l'action sur\n $sql\n"; } exit(); } else { # On remet à plus tard... #at +f 1 minute $0 $* //exec("at +f 1 minute $lanceur_recup",$retour); //@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); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$imac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); # Insérer dans une table rapport $sql="INSERT INTO se3_tftp_rapports SET id='$id_machine', name='$nom_machine', mac='$mac_machine', date='".timestamp_to_mysql_date($instant)."', tache='$nature', statut='$statut', descriptif='".addslashes($descriptif)."';"; //echo $sql; $insert=mysql_query($sql); if(!$insert){ echo "ERREUR sur $sql\n"; } if($statut=="SUCCES"){ //$url="http://$ip/~hacker/partitionnement.out"; $url="http://$ip/partitionnement.out"; //wget --tries=1 http://$ip/~hacker/resultat_restauration.txt $partitionnement=""; if(@exec("ping ".$ip." -c 1 -w 1 | grep received | awk '{print $4}'")) { if($fl=@file($url)){ for($i=1;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i0) { $partitionnement.="___+*+___"; //$partitionnement.="___+-+___"; } for($j=0;$jmac; $nom_machine=$lig_machine->name; $corrige_mac=strtolower(strtr($mac_machine,":","-")); $statut="SUCCES"; $descriptif=$partitionnement; //if($descriptif!="") {$descriptif.="\n";} if($descriptif!="") { $descriptif.="\n"; } $descriptif.="___FIN_PARTITIONNEMENT___"; $descriptif.="\n"; $descriptif.=$infos; if($infos!="") { $descriptif.="\n"; } $descriptif.="___FIN_INFOS_DF___"; $descriptif.="\n"; if(count($sauvegardes)>0) { if($descriptif!="") {$descriptif.="\n";} for($i=0;$i0) { $creation_table=creation_tftp_tables(); if(!$creation_table){ echo "Erreur lors de la création de la table 'se3_tftp_sauvegardes'\n"; } else{ for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i/dev/null",$retour); @exec("at -f $lanceur_recup now + 1 minute 2>$dossier/at.txt",$retour); # où $lanceur_recup est généré par l'interface Web SE3 et effectue: # recup_rapport.sh $id_machine $ip $nature_tache $timestamp_limite_validite_relance // Tester le $retour if(count($retour)>0){ echo "La programmation\n at -f $lanceur_recup now + 1 minute\na échoué...\n"; for($i=0;$i