29,7 → 29,7 |
// CSS pour mes tableaux: |
echo "<link type='text/css' rel='stylesheet' href='tftp.css' />\n"; |
|
if (is_admin("system_is_admin",$login)=="Y") |
if ((is_admin("system_is_admin",$login)=="Y")||(ldap_get_right("parc_can_clone",$login)=="Y")) |
{ |
// Choix des parcs: |
$parc=isset($_POST['parc']) ? $_POST['parc'] : (isset($_GET['parc']) ? $_GET['parc'] : NULL); |
67,14 → 67,36 |
$shutdown_reboot=isset($_POST['shutdown_reboot']) ? $_POST['shutdown_reboot'] : (isset($_GET['shutdown_reboot']) ? $_GET['shutdown_reboot'] : NULL); |
|
|
$type_dest_part=isset($_POST['type_dest_part']) ? $_POST['type_dest_part'] : "partition"; |
$dest_srv=isset($_POST['dest_srv']) ? $_POST['dest_srv'] : ""; |
$dest_partage=isset($_POST['dest_partage']) ? $_POST['dest_partage'] : ""; |
$dest_sous_dossier=isset($_POST['dest_sous_dossier']) ? $_POST['dest_sous_dossier'] : ""; |
$dest_compte=isset($_POST['dest_compte']) ? $_POST['dest_compte'] : ""; |
$dest_mdp=isset($_POST['dest_mdp']) ? $_POST['dest_mdp'] : ""; |
|
$type_svg=isset($_POST['type_svg']) ? $_POST['type_svg'] : "partimage"; |
|
echo "<h1>".gettext("Action sauvegarde TFTP")."</h1>\n"; |
|
if(!isset($parc)){ |
$restriction_parcs="n"; |
if(is_admin("system_is_admin",$login)!="Y") { |
$restriction_parcs="y"; |
$tab_delegated_parcs=list_delegated_parcs($login); |
if(count($tab_delegated_parcs)==0) { |
echo "<p>Aucun parc ne vous a été délégué.</p>\n"; |
include ("pdp.inc.php"); |
die(); |
} |
} |
|
//echo "is_machine_in_parc('xpbof', 'parc_xp')=".is_machine_in_parc('xpbof', 'parc_xp')."<br />"; |
|
if(!isset($parc)) { |
|
echo "<p>Choisissez un ou des parcs:</p>\n"; |
|
$list_parcs=search_machines("objectclass=groupOfNames","parcs"); |
if ( count($list_parcs)==0) { |
if (count($list_parcs)==0) { |
echo "<br><br>"; |
echo gettext("Il n'existe aucun parc. Vous devez d'abord créer un parc"); |
include ("pdp.inc.php"); |
96,8 → 118,12 |
echo "<td align='left'>\n"; |
} |
|
echo "<label for='parc_$loop'><input type='checkbox' id='parc_$loop' name='parc[]' value=\"".$list_parcs[$loop]["cn"]."\" />".$list_parcs[$loop]["cn"]."</label>\n"; |
echo "<br />\n"; |
if(($restriction_parcs=="n")||(in_array($list_parcs[$loop]["cn"], $tab_delegated_parcs))) { |
echo "<label for='parc_$loop'><input type='checkbox' id='parc_$loop' name='parc[]' value=\"".$list_parcs[$loop]["cn"]."\""; |
if(count($list_parcs)==1) {echo " checked";} |
echo " />".$list_parcs[$loop]["cn"]."</label>\n"; |
echo "<br />\n"; |
} |
} |
|
echo "</td>\n"; |
108,10 → 134,25 |
|
echo "</form>\n"; |
|
|
echo "<script type='text/javascript'> |
nb_parcs=0; |
id_parc=''; |
for(i=0;i<$loop;i++) { |
if(document.getElementById('parc_'+i)) { |
nb_parcs++; |
id_parc='parc_'+i; |
} |
} |
if(nb_parcs==1) { |
document.getElementById(id_parc).checked=true; |
} |
</script>\n"; |
|
echo "<p><a href='index.php'>Retour à l'index</a>.</p>\n"; |
} |
else { |
if(!isset($_POST['parametrage_action'])){ |
if(!isset($_POST['parametrage_action'])) { |
|
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">\n"; |
echo "<input type=\"hidden\" name=\"parametrage_action\" value=\"1\" />\n"; |
275,6 → 316,9 |
} |
else { |
$validation_parametres=isset($_POST['validation_parametres']) ? $_POST['validation_parametres'] : (isset($_GET['validation_parametres']) ? $_GET['validation_parametres'] : NULL); |
//$validation_parametres2=isset($_POST['validation_parametres2']) ? $_POST['validation_parametres2'] : (isset($_GET['validation_parametres2']) ? $_GET['validation_parametres2'] : NULL); |
|
//if((!isset($validation_parametres))&&(!isset($validation_parametres2))) { |
if(!isset($validation_parametres)) { |
echo "<h2>Paramétrage de la sauvegarde</h2>\n"; |
|
289,7 → 333,7 |
exit(); |
} |
|
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">\n"; |
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\" name=\"form1\">\n"; |
echo "<input type=\"hidden\" name=\"parametrage_action\" value=\"1\" />\n"; |
// Liste des parcs: |
for($i=0;$i<count($parc);$i++){ |
363,10 → 407,69 |
echo "<u onmouseover=\"this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape".gettext("('Proposer hda1, sda1,... selon les cas, ou laissez \'auto\' si la première partition du disque est bien la partition système à sauvegarder.')")."\"><img name=\"action_image2\" src=\"../elements/images/help-info.gif\"></u>\n"; |
echo "</td></tr>\n"; |
|
/* |
echo "<tr><td>Partition de stockage: </td><td><input type='text' name='dest_part' value='auto' />\n"; |
echo "<u onmouseover=\"this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape".gettext("('Proposer hda5, sda5,... selon les cas, ou laissez \'auto\' si la première partition Linux (<i>ou à défaut W$ après la partition système</i>) est bien la partition de stockage.')")."\"><img name=\"action_image3\" src=\"../elements/images/help-info.gif\"></u>\n"; |
echo "</td></tr>\n"; |
*/ |
|
$srcd_scripts_vers=crob_getParam('srcd_scripts_vers'); |
if(($temoin_sysresccd=="y")&&($srcd_scripts_vers!='')&&($srcd_scripts_vers>=20111005)) { |
echo "<tr><td><input type='radio' name='type_dest_part' id='type_dest_part_partition' value='partition' checked /><label for='type_dest_part_partition'> Partition de stockage: </label></td><td><input type='text' name='dest_part' value='auto' />\n"; |
echo "<u onmouseover=\"this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape".gettext("('Proposer hda5, sda5,... selon les cas, ou laissez \'auto\' si la première partition Linux (<i>ou à défaut W$ après la partition système</i>) est bien la partition de stockage.')")."\"><img name=\"action_image3\" src=\"../elements/images/help-info.gif\"></u>\n"; |
echo "</td></tr>\n"; |
|
echo "<tr id='tr_dest_part_smb'><td style='vertical-align:top'><b>Ou</b><br /><input type='radio' name='type_dest_part' id='type_dest_part_smb' value='smb' /><label for='type_dest_part_smb'> Effectuer une sauvegarde vers un partage Window$/Samba :</label><br />(<i>tous les champs doivent être renseignés<br />si vous optez pour ce choix</i>)</td>\n"; |
echo "<td>\n"; |
|
$svg_default_srv=crob_getParam('svg_default_srv'); |
if($svg_default_srv=='') {$svg_default_srv=crob_getParam('se3ip');} |
$svg_default_partage=crob_getParam('svg_default_partage'); |
$svg_default_dossier=crob_getParam('svg_default_dossier'); |
$svg_default_compte=crob_getParam('svg_default_compte'); |
|
echo "<table>\n"; |
echo "<tr>\n"; |
echo "<td>Serveur :</td>\n"; |
|
echo "<td><input type='text' name='dest_srv' id='dest_srv' value='".$svg_default_srv."' onchange=\"document.getElementById('type_dest_part_smb').checked=true;\" /></td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Partage :</td>\n"; |
echo "<td><input type='text' name='dest_partage' id='dest_partage' value='$svg_default_partage' onchange=\"document.getElementById('type_dest_part_smb').checked=true;\" /></td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Sous-dossier :</td>\n"; |
echo "<td><input type='text' name='dest_sous_dossier' id='dest_sous_dossier' value='$svg_default_dossier' onchange=\"document.getElementById('type_dest_part_smb').checked=true;\" /></td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Compte :</td>\n"; |
echo "<td><input type='text' name='dest_compte' id='dest_compte' value='$svg_default_compte' onchange=\"document.getElementById('type_dest_part_smb').checked=true;\" /></td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td style='vertical-align:top'>Mot de passe :</td>\n"; |
echo "<td><input type='text' name='dest_mdp' id='dest_mdp' value='' onchange=\"document.getElementById('type_dest_part_smb').checked=true;\" autocomplete=\"off\" /><br /><b>Attention :</b> Le mot de passe circule en clair.<br />Evitez d'utiliser un compte comme admin ou adminse3.</td>\n"; |
echo "</tr>\n"; |
echo "</table>\n"; |
echo "</td></tr>\n"; |
|
echo "<tr><td style='vertical-align:top'>Type de sauvegarde : </td>\n"; |
echo "<td>\n"; |
echo "<input type='radio' name='type_svg' id='type_svg_partimage' value='partimage' checked /><label for='type_svg_partimage'> partimage</label><br />\n"; |
echo "<input type='radio' name='type_svg' id='type_svg_ntfsclone' value='ntfsclone' /><label for='type_svg_ntfsclone'> ntfsclone</label><br />\n"; |
echo "<input type='radio' name='type_svg' id='type_svg_fsarchiver' value='fsarchiver' /><label for='type_svg_fsarchiver'> fsarchiver</label><br />\n"; |
echo "</td></tr>\n"; |
} |
else { |
echo "<tr><td>Partition de stockage: </td><td><input type='text' name='dest_part' value='auto' />\n"; |
echo "<u onmouseover=\"this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape".gettext("('Proposer hda5, sda5,... selon les cas, ou laissez \'auto\' si la première partition Linux (<i>ou à défaut W$ après la partition système</i>) est bien la partition de stockage.')")."\"><img name=\"action_image3\" src=\"../elements/images/help-info.gif\"></u>\n"; |
echo "</td></tr>\n"; |
} |
|
// Proposer de supprimer Toutes les sauvegardes anterieures (all) ou de plus de N mois |
// Modifier sauve_part.sh pour SysRescCD |
// Modifier pxe_gen_cfg.sh pour prendre en compte del_old_svg |
381,6 → 484,16 |
echo "</select>\n"; |
echo "</td></tr>\n"; |
|
if(($temoin_sysresccd=="y")&&(crob_getParam('srcd_scripts_vers')>='20110910')) { |
echo "<tr id='tr_authorized_keys'>\n"; |
echo "<td>Url authorized_keys : </td>\n"; |
echo "<td><input type='checkbox' name='prendre_en_compte_url_authorized_keys' value='y' /> \n"; |
echo "<input type='text' name='url_authorized_keys' value='".crob_getParam('url_authorized_keys')."' size='40' />\n"; |
echo "<u onmouseover=\"this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape".gettext("('Un fichier authorized_keys peut être mis en place pour permettre un accès SSH au poste sauvegardé.')")."\">\n"; |
echo "<img name=\"action_image3\" src=\"../elements/images/help-info.gif\"></u>\n"; |
echo "</td>\n"; |
echo "</tr>\n"; |
} |
|
echo "<tr><td valign='top'>Rebooter en fin de sauvegarde: </td>\n"; |
echo "<td>\n"; |
420,11 → 533,21 |
|
echo "</table>\n"; |
|
echo "<p align='center'><input type=\"submit\" name=\"validation_parametres\" value=\"Valider\" /></p>\n"; |
echo "<input type=\"hidden\" name=\"validation_parametres\" value=\"y\" />\n"; |
|
echo "<p id='bouton_submit' style='text-align:center; display:none;'><input type=\"button\" name=\"bouton_validation_parametres2\" value=\"Valider\" onclick=\"check_smb_et_valide_formulaire('Un ou des champs ne sont pas remplis. Etes-vous sûr de vouloir poursuivre ?');\" /></p>\n"; |
|
echo "<noscript>"; |
echo "<p align='center'><input type=\"submit\" name=\"bouton_validation_parametres\" value=\"Valider\" /></p>\n"; |
echo "</noscript>"; |
|
echo "</form>\n"; |
|
|
echo "<script type='text/javascript'> |
// Si javascript est actif, on de-cache le bouton_submit: |
if(document.getElementById('bouton_submit')) {document.getElementById('bouton_submit').style.display='';} |
|
function affiche_sections_distrib() { |
if(document.getElementById('distrib_sysresccd').checked==true) { |
distrib='sysresccd'; |
435,13 → 558,52 |
|
if(distrib=='slitaz') { |
document.getElementById('div_sysresccd_kernel').style.display='none'; |
document.getElementById('tr_authorized_keys').style.display='none'; |
if(document.getElementById('tr_dest_part_smb')) {document.getElementById('tr_dest_part_smb').style.display='none';} |
} |
else { |
document.getElementById('div_sysresccd_kernel').style.display='block'; |
document.getElementById('tr_authorized_keys').style.display=''; |
if(document.getElementById('tr_dest_part_smb')) {document.getElementById('tr_dest_part_smb').style.display='';} |
} |
} |
|
affiche_sections_distrib(); |
|
function check_smb_et_valide_formulaire(themessage) { |
if(document.getElementById('type_dest_part_smb')) { |
if(document.getElementById('type_dest_part_smb').checked==true) { |
// On vérifie si les champs sont non vides |
dest_srv='' |
dest_partage='' |
dest_sous_dossier='' |
dest_compte='' |
dest_mdp='' |
if(document.getElementById('dest_srv')) {dest_srv=document.getElementById('dest_srv').value;} |
if(document.getElementById('dest_partage')) {dest_partage=document.getElementById('dest_partage').value;} |
if(document.getElementById('dest_sous_dossier')) {dest_sous_dossier=document.getElementById('dest_sous_dossier').value;} |
if(document.getElementById('dest_compte')) {dest_compte=document.getElementById('dest_compte').value;} |
if(document.getElementById('dest_mdp')) {dest_mdp=document.getElementById('dest_mdp').value;} |
|
if((dest_srv!='')&&(dest_partage!='')&&(dest_sous_dossier!='')&&(dest_compte!='')&&(dest_mdp!='')) { |
document.form1.submit(); |
} |
else { |
var is_confirmed = confirm(themessage); |
if(is_confirmed){ |
document.form1.submit(); |
} |
} |
} |
else { |
document.form1.submit(); |
} |
} |
else { |
document.form1.submit(); |
} |
} |
|
</script>\n"; |
|
//====================================================== |
497,6 → 659,12 |
echo "<h2>Validation des paramètres de la sauvegarde</h2>\n"; |
//debug_var(); |
|
$opt_url_authorized_keys=""; |
if((isset($_POST['prendre_en_compte_url_authorized_keys']))&&(isset($_POST['url_authorized_keys']))&&($_POST['url_authorized_keys']!='')&&(preg_replace('|[A-Za-z0-9/:_\.\-]|','',$_POST['url_authorized_keys'])=='')) { |
$opt_url_authorized_keys="url_authorized_keys=".$_POST['url_authorized_keys']; |
crob_setParam('url_authorized_keys',$_POST['url_authorized_keys'],'Url fichier authorized_keys pour acces ssh aux clients TFTP'); |
} |
|
echo "<p>Rappel des paramètres:</p>\n"; |
|
$temoin_sysresccd=check_sysresccd_files(); |
533,11 → 701,63 |
echo "</td>\n"; |
echo "</tr>\n"; |
|
if($type_dest_part=='partition') { |
echo "<tr>\n"; |
echo "<th style='text-align:left;'>Partition de stockage de la sauvegarde: </th>\n"; |
echo "<td>\n"; |
if($dest_part=="auto") {echo "Détectée automatiquement lors de la sauvegarde.";} else {echo $dest_part;} |
echo "</td>\n"; |
echo "</tr>\n"; |
} |
elseif($type_dest_part=='smb') { |
if($dest_srv!='') {crob_setParam('svg_default_srv',$_POST['dest_srv'],'Serveur samba par défaut de destination des sauvegardes (TFTP)');} |
if($dest_partage!='') {crob_setParam('svg_default_partage',$_POST['dest_partage'],'Partage samba par défaut de destination des sauvegardes (TFTP)');} |
if($dest_sous_dossier!='') {crob_setParam('svg_default_dossier',$_POST['dest_sous_dossier'],'Sous-dossier par défaut de destination des sauvegardes (TFTP)');} |
if($dest_compte!='') {crob_setParam('svg_default_compte',$_POST['dest_compte'],'Compte par défaut pour le montage de la destination des sauvegardes (TFTP)');} |
|
echo "<tr>\n"; |
echo "<th style='text-align:left; vertical-align:top;'>Sauvegarde dans un partage Window$/Samba: </th>\n"; |
echo "<td>\n"; |
echo "<table>\n"; |
echo "<tr>\n"; |
echo "<td>Serveur :</td>\n"; |
echo "<td>$dest_srv</td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Partage :</td>\n"; |
echo "<td>$dest_partage</td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Sous-dossier :</td>\n"; |
echo "<td>$dest_sous_dossier</td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Compte :</td>\n"; |
echo "<td>$dest_compte</td>\n"; |
echo "</tr>\n"; |
|
echo "<tr>\n"; |
echo "<td>Mot de passe :</td>\n"; |
echo "<td>XXXXXXXX</td>\n"; |
echo "</tr>\n"; |
echo "</table>\n"; |
|
echo "</td>\n"; |
echo "</tr>\n"; |
} |
else { |
echo "</table>\n"; |
echo "<p style='color:red'>ANOMALIE : Le type de la destination de sauvegarde est inconnu.</p>\n"; |
include ("pdp.inc.php"); |
die(); |
} |
|
echo "<tr>\n"; |
echo "<th style='text-align:left;'>Partition de stockage de la sauvegarde: </th>\n"; |
echo "<td>\n"; |
if($dest_part=="auto") {echo "Détectée automatiquement lors de la sauvegarde.";} else {echo $dest_part;} |
echo "</td>\n"; |
echo "<th style='text-align:left;'>Type de sauvegarde: </th>\n"; |
echo "<td>$type_svg</td>\n"; |
echo "</tr>\n"; |
|
if((isset($_POST['suppr_old_svg']))&&($_POST['suppr_old_svg']=='y')) { |
582,6 → 802,7 |
$res=mysql_query($sql); |
if(mysql_num_rows($res)==0) { |
echo "<span style='color:red;'>La machine d'identifiant $id_machine[$i] n'existe pas dans 'se3_dhcp'.</span><br />\n"; |
$traiter_machine_courante='n'; |
} |
else { |
$temoin_erreur="n"; |
591,113 → 812,137 |
$nom_machine=$lig->name; |
$ip_machine=$lig->ip; |
|
echo "Génération pour $nom_machine: "; |
|
$corrige_mac=strtolower(strtr($mac_machine,":","-")); |
|
$chemin="/usr/share/se3/scripts"; |
|
$ajout=""; |
$ajout2=""; |
$ajout3=""; |
if(isset($del_old_svg)) { |
$ajout=" '$del_old_svg'"; |
$ajout2="|del_old_svg=$del_old_svg"; |
|
$ajout3=" 'del_old_svg=$del_old_svg'"; |
if($restriction_parcs=="y") { |
$temoin_erreur='y'; |
for($loop=0; $loop<count($tab_delegated_parcs);$loop++) { |
// La machine est-elle dans un des parcs délégués? |
if(is_machine_in_parc($nom_machine,$tab_delegated_parcs[$loop])) {$temoin_erreur='n';break;} |
} |
} |
|
if($distrib=='slitaz') { |
$ajout_kernel=""; |
if($temoin_erreur=="y") { |
echo "<p style='color:red'>La machine $nom_machine ne vous est pas déléguée</p>\n"; |
} |
else { |
$ajout_kernel="|kernel=$sysresccd_kernel"; |
} |
|
if($distrib=='slitaz') { |
//$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sauve' '$corrige_mac' '$ip_machine' '$nom_machine' '$nom_image' '$src_part' '$dest_part' '$auto_reboot' '$delais_reboot'$ajout", $retour); |
$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=$dest_part auto_reboot=$auto_reboot delais_reboot=$delais_reboot $ajout3'", $retour); |
echo "/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=$dest_part auto_reboot=$auto_reboot delais_reboot=$delais_reboot $ajout3'<br />"; |
} |
else { |
//echo "\$resultat=exec(\"/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' '$corrige_mac' '$ip_machine' '$nom_machine' '$nom_image' '$src_part' '$dest_part' '$auto_reboot' '$delais_reboot'\", $retour);<br />"; |
//$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' '$corrige_mac' '$ip_machine' '$nom_machine' '$nom_image' '$src_part' '$dest_part' '$auto_reboot' '$delais_reboot'$ajout", $retour); |
$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=$dest_part auto_reboot=$auto_reboot delais_reboot=$delais_reboot kernel=$sysresccd_kernel $ajout3'", $retour); |
} |
|
if(count($retour)>0){ |
//echo "<p>"; |
//echo "<span style='color:red;'>Il semble que la génération du fichier ait échoué...</span><br />\n"; |
echo "<span style='color:red;'>ECHEC de la génération du fichier</span><br />\n"; |
for($j=0;$j<count($retour);$j++){ |
echo "$retour[$j]<br />\n"; |
echo "Génération pour $nom_machine: "; |
|
$corrige_mac=strtolower(strtr($mac_machine,":","-")); |
|
$chemin="/usr/share/se3/scripts"; |
|
$ajout=""; |
$ajout2=""; |
$ajout3=""; |
if(isset($del_old_svg)) { |
$ajout=" '$del_old_svg'"; |
$ajout2="|del_old_svg=$del_old_svg"; |
|
$ajout3=" 'del_old_svg=$del_old_svg'"; |
} |
$temoin_erreur="y"; |
//echo "</p>\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='sauvegarde', |
num_op='$num_op', |
infos='nom_image=$nom_image|src_part=$src_part|dest_part=$dest_part|auto_reboot=$auto_reboot|delais_reboot=${delais_reboot}${ajout_kernel}${ajout2}';"; |
$insert=mysql_query($sql); |
if(!$insert) { |
echo "<span style='color:red;'>ECHEC de l'enregistrement dans 'se3_tftp_action'</span><br />\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+"); |
$timestamp_limit=time()+4*3600; |
//fwrite($fich,"/usr/share/se3/scripts/recup_rapport.php '$id_machine[$i]' '$ip_machine' 'sauvegarde' '$timestamp_limit'"); |
|
if($distrib=='slitaz') { |
$mode_sauvegarde="sauvegarde"; |
$ajout_kernel=""; |
} |
else { |
$mode_sauvegarde="sauvegarde_sysresccd"; |
$ajout_kernel="|kernel=$sysresccd_kernel"; |
} |
fwrite($fich,"sudo /usr/share/se3/scripts/recup_rapport.php '$id_machine[$i]' '$ip_machine' '$mode_sauvegarde' '$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); |
if($distrib=='slitaz') { |
//$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sauve' '$corrige_mac' '$ip_machine' '$nom_machine' '$nom_image' '$src_part' '$dest_part' '$auto_reboot' '$delais_reboot'$ajout", $retour); |
$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=$dest_part auto_reboot=$auto_reboot delais_reboot=$delais_reboot $ajout3'", $retour); |
echo "/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=$dest_part auto_reboot=$auto_reboot delais_reboot=$delais_reboot $ajout3'<br />"; |
|
// 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); |
if($retour) { |
echo "<span style='color:red;'>ECHEC de la planification de la tâche.</span><br />\n"; |
for($j=0;$j<count($retour);$j++){echo "$retour[$j]<br />\n";} |
$temoin_erreur="y"; |
$info_dest_part=$dest_part; |
} |
else { |
//echo "\$resultat=exec(\"/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' '$corrige_mac' '$ip_machine' '$nom_machine' '$nom_image' '$src_part' '$dest_part' '$auto_reboot' '$delais_reboot'\", $retour);<br />"; |
//$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' '$corrige_mac' '$ip_machine' '$nom_machine' '$nom_image' '$src_part' '$dest_part' '$auto_reboot' '$delais_reboot'$ajout", $retour); |
if($type_dest_part=='smb') { |
$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=smb:$dest_compte:$dest_mdp@$dest_srv:$dest_partage:$dest_sous_dossier type_svg=$type_svg auto_reboot=$auto_reboot delais_reboot=$delais_reboot kernel=$sysresccd_kernel $ajout3 $opt_url_authorized_keys'", $retour); |
|
if($temoin_erreur=="n") { |
//echo "<span style='color:green;'>OK</span><br />\n"; |
echo "<span style='color:green;'>OK</span>\n"; |
// Application de l'action choisie: |
echo " <span id='wake_shutdown_or_reboot_$i'></span>"; |
$info_dest_part="smb:$dest_compte:XXXXXXXX@$dest_srv:$dest_partage:$dest_sous_dossier"; |
} |
else { |
$resultat=exec("/usr/bin/sudo $chemin/pxe_gen_cfg.sh 'sysresccd_sauve' 'mac=$corrige_mac ip=$ip_machine pc=$nom_machine nom_image=$nom_image src_part=$src_part dest_part=$dest_part type_svg=$type_svg auto_reboot=$auto_reboot delais_reboot=$delais_reboot kernel=$sysresccd_kernel $ajout3 $opt_url_authorized_keys'", $retour); |
|
echo "<script type='text/javascript'> |
// <![CDATA[ |
new Ajax.Updater($('wake_shutdown_or_reboot_$i'),'ajax_lib.php?ip=$ip_machine&nom=$nom_machine&mode=wake_shutdown_or_reboot&wake=$wake&shutdown_reboot=$shutdown_reboot',{method: 'get'}); |
//]]> |
</script>\n"; |
|
|
echo "<br />\n"; |
$info_dest_part=$dest_part; |
} |
} |
|
if(count($retour)>0){ |
//echo "<p>"; |
//echo "<span style='color:red;'>Il semble que la génération du fichier ait échoué...</span><br />\n"; |
echo "<span style='color:red;'>ECHEC de la génération du fichier</span><br />\n"; |
for($j=0;$j<count($retour);$j++){ |
echo "$retour[$j]<br />\n"; |
} |
$temoin_erreur="y"; |
//echo "</p>\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='sauvegarde', |
num_op='$num_op', |
infos='nom_image=$nom_image|src_part=$src_part|dest_part=$info_dest_part|auto_reboot=$auto_reboot|delais_reboot=${delais_reboot}${ajout_kernel}${ajout2}';"; |
$insert=mysql_query($sql); |
if(!$insert) { |
echo "<span style='color:red;'>ECHEC de l'enregistrement dans 'se3_tftp_action'</span><br />\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+"); |
$timestamp_limit=time()+4*3600; |
//fwrite($fich,"/usr/share/se3/scripts/recup_rapport.php '$id_machine[$i]' '$ip_machine' 'sauvegarde' '$timestamp_limit'"); |
if($distrib=='slitaz') { |
$mode_sauvegarde="sauvegarde"; |
} |
else { |
$mode_sauvegarde="sauvegarde_sysresccd"; |
} |
fwrite($fich,"sudo /usr/share/se3/scripts/recup_rapport.php '$id_machine[$i]' '$ip_machine' '$mode_sauvegarde' '$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); |
if($retour) { |
echo "<span style='color:red;'>ECHEC de la planification de la tâche.</span><br />\n"; |
for($j=0;$j<count($retour);$j++){echo "$retour[$j]<br />\n";} |
$temoin_erreur="y"; |
} |
|
if($temoin_erreur=="n") { |
//echo "<span style='color:green;'>OK</span><br />\n"; |
echo "<span style='color:green;'>OK</span>\n"; |
// Application de l'action choisie: |
echo " <span id='wake_shutdown_or_reboot_$i'></span>"; |
|
echo "<script type='text/javascript'> |
// <![CDATA[ |
new Ajax.Updater($('wake_shutdown_or_reboot_$i'),'ajax_lib.php?ip=$ip_machine&nom=$nom_machine&mode=wake_shutdown_or_reboot&wake=$wake&shutdown_reboot=$shutdown_reboot',{method: 'get'}); |
//]]> |
</script>\n"; |
|
|
echo "<br />\n"; |
} |
} |
} |
} |
} |