$ligne) { if (ereg ("$Name=(.*)",$ligne,$reg)) { $var = trim($reg[1]); return $var; } } } } // fin function //aide $_SESSION["pageaide"]="Sauvegarde_client_Linux#Cas_particulier_:_Sauvegarder_un_serveur_Se3_distant"; echo "

".gettext("Configure client sauvegarde ")."

\n"; if (is_admin("system_is_admin",$login)=="Y") { // Stop ou start rsync if ($_GET['action']=="stop") { exec("sudo /usr/share/se3/scripts/mk_rsyncconf.sh stop"); sleep(5); } elseif($_GET['action']=="start") { exec("sudo /usr/share/se3/scripts/mk_rsyncconf.sh start"); sleep(10); } // Creation du fichier de conf de rsyncd.conf elseif ($_GET['action'] == "rsync_mod") { if ($_GET['dc_read']!="no") {$_GET['dc_read']="yes"; } $fichier = "/tmp/rsyncd.conf"; $fp=fopen("$fichier","w+"); $DEFAUT = " uid=root gid=root use chroot=no syslog facility=local5 pid file=/var/run/rsyncd.pid auth users=".$_GET['dc_user']." secrets file=/etc/rsyncd.secret hosts allow=".$_GET['dc_serveur']." read only=".$_GET['dc_read'].""; // Creation des modules a partir des repertoires a sauvegarder $modules = preg_split("/;/",$_GET['dc_modules'],-1); for ($i=0; $i < count($modules); $i++) { $rep_module = "$modules[$i]"; $nom_module = str_replace("/","",$modules[$i]); $DEFAUT .= " ## $nom_module ; $rep_module [$nom_module] comment = repertoire $rep_module path = $rep_module"; } fwrite($fp,$DEFAUT); fclose($fp); // On lance le script de conf exec("sudo /usr/share/se3/scripts/mk_rsyncconf.sh start $_GET[dc_user] $_GET[dc_pass]"); unset($action); } // test la presence du paquet $rsync = exec("dpkg -l | grep rsync > /dev/null && echo ok"); // Si deja installe if ($rsync == "ok") { echo "

"; echo "
"; echo ""; echo "\n"; echo "\n"; // test si rsync est actif $rsync_actif = exec("netstat -na | grep 0.0.0.0:873 > /dev/null && echo ok"); echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; $dc_user = variable ("auth users"); echo ""; echo ""; echo "\n"; echo ""; echo "\n"; $dc_pass = exec("sudo /usr/share/se3/scripts/mk_rsyncconf.sh pass"); echo "\n"; echo ""; // if ($dc_smarthost == "") { $dc_smarthost = "$slisip"; } echo "\n"; echo ""; echo "\n"; $dc_serveur = variable ("hosts allow"); echo "\n"; echo ""; // $dc_serveur = variable ("hosts allow"); echo ""; echo ""; echo "\n"; // Permet de restaurer $dc_read = variable ("read only"); echo "\n"; echo ""; echo ""; echo ""; echo "\n"; echo "\n"; // Les modules existants if (file_exists("/etc/rsyncd.conf")) { $lignes = file("/etc/rsyncd.conf"); $dc_modules=""; foreach ($lignes as $num => $ligne) { if (ereg ("##(.*)",$ligne,$reg)) { $var = trim($reg[1]); list($nom_module,$rep_module)=split(';',$var); if ($nom_module != "") { echo "\n"; echo ""; echo ""; echo ""; echo "\n"; if ($dc_modules!="") {$dc_modules.=";"; } if ($rep_module != "") { $dc_modules.=trim($rep_module); } } } } } // Les repertroires echo "\n"; echo ""; if($dc_modules=="") {$dc_modules="/home;/etc;/var/se3";} echo ""; echo ""; echo "\n"; echo "
".gettext("Activation du client de sauvegarde ")."
".gettext("Etat").""; if ($rsync_actif=="ok") { echo "Etat : actif
Permet de bloquer la sauvegarde, sans supprimer la configuration. Cela peut générer des messages d\'erreur sur le serveur.')")."\">"; echo "\"Enabled\""; echo "
"; } else { echo "Etat : inactif
Permet de réactiver la sauvegarde, sans changer la configuration.')")."\">"; echo "\"Disabled\""; echo "
"; } echo "
\"Help\"
".gettext("Configuration du client de sauvegarde ")."
".gettext("Compte de connexion :")."\"Help\"
".gettext("Mot de passe")." :Il devra être indiqué sur le serveur Backuppc.')")."\">\"Help\"
".gettext("Serveur Backuppc")." :\"Help\"
".gettext("Restaurer")." :Autoriser la restauration :
La croix indique que la restauration est autorisée.
Par mesure de sécurité, il est souhaitable de ne l\'activer qu\'en cas de besoin.')")."\">\"Help\"
".gettext("Répertoires à sauvegarder")."
$nom_module$rep_moduleNom du module
Vous devez indiquer le nom $nom_module dans l\'interface du serveur de sauvegarde')")."\">\"Help\"
".gettext("Répertoires à sauvegarder")." :
On conseille par défaut /home, /var/se3 et /etc.
Le séparateur est le point virgule.')")."\">\"Help\"
\n"; echo "

"; echo "
"; echo "
\n"; } else { echo "

"; echo "
"; echo gettext("Le paquet rsync ne semble pas installé sur la machine"); echo "

"; echo gettext("Vous devez d'abord exécuter sur le serveur un apt-get install rsync "); echo "
"; } } else echo gettext("Vous n'avez pas les droits nécessaires pour ouvrir cette page..."); include ("pdp.inc.php"); ?>