622 lines
18 KiB
PHP
Executable File
622 lines
18 KiB
PHP
Executable File
<?
|
|
require("../../inc/header.inc");
|
|
?>
|
|
<STYLE TYPE="text/css" MEDIA="screen, print, projection">
|
|
<!--
|
|
.inner {width: 40px }
|
|
-->
|
|
</STYLE>
|
|
<?
|
|
$helpId = isset($helpId)?$helpId:'5.1.6';
|
|
$ThisPage="Configuration > Network > Restore";
|
|
$DEBUG = 0;
|
|
$db=$omc_db;
|
|
set_time_limit(3600);
|
|
$strNoInput = "No file input!";
|
|
|
|
function MsgBox($str)
|
|
{
|
|
echo "<script language=\"javascript\">";
|
|
echo "alert(\"$str\");";
|
|
echo "history.go(-1)";
|
|
echo "</script>";
|
|
}
|
|
function getNameByTypeNo($sysTypeNo)
|
|
{
|
|
$pubDb = "OMC_PUB";
|
|
$selSql = "select sysTypeName from OMC_PUB.sysConf where sysTypeNo=$sysTypeNo";
|
|
$result = mysqli_query($pubConn,$selSql);
|
|
$row = mysqli_fetch_array($result);
|
|
$name = $row[sysTypeName];
|
|
return $name;
|
|
}
|
|
function getFileList($dir,&$fileListArr)
|
|
{
|
|
if ($handle = opendir($dir)) {
|
|
while (false !== ($file = readdir($handle))) {
|
|
if ($file != "." && $file != "..") {
|
|
$fileListArr[] = $file;
|
|
}
|
|
}
|
|
closedir($handle);
|
|
}
|
|
}
|
|
function updateParamer($db_name,$table_name,$csvFileName)
|
|
{
|
|
$del_sql = "DELETE FROM $table_name";
|
|
if($DEBUG) echo "<br>del_sql = $del_sql";
|
|
$del_result = mysqli_query($pubConn,$del_sql);
|
|
if($DEBUG) echo "<br>del_result=$del_result";
|
|
|
|
$insert_sql = "LOAD DATA LOCAL INFILE '$csvFileName'
|
|
INTO TABLE $table_name
|
|
FIELDS TERMINATED BY ','
|
|
LINES TERMINATED BY '\n'
|
|
";
|
|
if(0) echo "<br>insert_sql=$insert_sql";
|
|
$insert_result=mysqli_query($pubConn,$insert_sql);
|
|
if($DEBUG) echo "<br>insert_result=$insert_result";
|
|
if ($insert_result)
|
|
return 1;
|
|
else
|
|
return 0;
|
|
}//end updateParamer
|
|
|
|
function updateSubs($sysId,$dataTypeNo,$impFile)
|
|
{
|
|
$nSetComm = 3;
|
|
$pubDb = 'OMC_PUB';
|
|
$sysSubsConfTable = 'OMC_PUB.sysSubsConf';
|
|
$sysInfoTable = 'OMC_PUB.sysInfo';
|
|
|
|
$sysIdArr=explode('_',$sysId);
|
|
$sysTypeNo =$sysIdArr[0];
|
|
$sysNo =$sysIdArr[1];
|
|
$subSysNo =$sysIdArr[2];
|
|
|
|
if($sysTypeNo==390)
|
|
$getConfSql="SELECT subsDataTable,impObjId,impFileName,ftpDir,ftpLoginName,ftpLoginPwd,
|
|
logFileName,maxSegmentNum,maxIndexNumPerSeg
|
|
FROM $sysSubsConfTable
|
|
WHERE sysTypeNo='$sysTypeNo' AND dataTypeNo='$dataTypeNo' AND sysNo='$sysNo'
|
|
";
|
|
else
|
|
$getConfSql="SELECT subsDataTable,impObjId,impFileName,ftpDir,ftpLoginName,ftpLoginPwd,
|
|
logFileName,maxSegmentNum,maxIndexNumPerSeg
|
|
FROM $sysSubsConfTable
|
|
WHERE sysTypeNo='$sysTypeNo' AND dataTypeNo='$dataTypeNo'
|
|
";
|
|
if($DEBUG) echo "<br>getConfSql=$getConfSql";
|
|
$getConfResult=mysqli_query($pubConn,$getConfSql);
|
|
echo mysqli_error($pubConn);
|
|
$getConfRows=mysqli_fetch_array($getConfResult);
|
|
|
|
$subsDataTable = $getConfRows[subsDataTable];
|
|
$impObjId = $getConfRows[impObjId];
|
|
$impFileName = $getConfRows[impFileName];
|
|
$logFileName = $getConfRows[logFileName];
|
|
$ftpDir = $getConfRows[ftpDir];
|
|
$ftpLoginName = $getConfRows[ftpLoginName];
|
|
$ftpLoginPwd = $getConfRows[ftpLoginPwd];
|
|
$maxSegmentNum = $getConfRows[maxSegmentNum];
|
|
$maxIndexNumPerSeg = $getConfRows[maxIndexNumPerSeg];
|
|
$maxTotalNum = $maxSegmentNum * $maxIndexNumPerSeg;
|
|
$maxImpFileSize = 5*1024*1024;
|
|
$maxImpRecordNum = 5000;
|
|
|
|
//Get the system name;
|
|
$selSql = "SELECT sysTypeName FROM sysConf WHERE sysTypeNo='$sysTypeNo'";
|
|
if ($DEBUG) echo "selSql = $selSql<br>";
|
|
$selRes = @mysqli_query($pubConn, $selSql);
|
|
echo mysqli_error($pubConn);
|
|
$selRow = @mysqli_fetch_array($selRes);
|
|
$sysName = $selRow[sysTypeName];
|
|
|
|
if($sysTypeNo==390)
|
|
$getSysIdSql = "SELECT sysNo,subSysNo,ip
|
|
FROM $sysInfoTable
|
|
WHERE sysTypeNo='$sysTypeNo' AND sysNo='$sysNo'
|
|
ORDER BY sysNo,subSysNo
|
|
";
|
|
else
|
|
$getSysIdSql = "SELECT sysNo,subSysNo,ip
|
|
FROM $sysInfoTable
|
|
WHERE sysTypeNo='$sysTypeNo' AND baseStat > '0'
|
|
ORDER BY sysNo,subSysNo
|
|
";
|
|
if($DEBUG) echo "<br>getSysIdSql=$getSysIdSql";
|
|
$getSysIdResult= mysqli_query($pubConn,$getSysIdSql);
|
|
echo mysqli_error($pubConn);
|
|
$runningServerNum = mysqli_num_rows($getSysIdResult);
|
|
if($runningServerNum <= 0){
|
|
echo "<font color=\"#FF0000\" >No system running normally</font>";
|
|
return 0;
|
|
}
|
|
if($DEBUG) echo "running server number = $runningServerNum<br>";
|
|
//找出已有的记录个数
|
|
$getTotalSql = "SELECT count(*) FROM $subsDataTable";
|
|
if($DEBUG) echo "<br>getTotalSql=$getTotalSql";
|
|
$getTotalRes = mysqli_query($pubConn,$getTotalSql);
|
|
$getTotalRow = @mysqli_fetch_array($getTotalRes);
|
|
$existNum = $getTotalRow[0];
|
|
|
|
if($DEBUG) echo "<br>existNum=$existNum";
|
|
|
|
//检查导入的文件大小,记录条数
|
|
$impFileSize = filesize($impFile);
|
|
if($DEBUG) {
|
|
echo "<br>impFile=$impFile";
|
|
echo "<br>impFileSize=$impFileSize";
|
|
}
|
|
if($impFileSize > $maxImpFileSize){
|
|
$impFileSizeM=ceil($impFileSize/1024/1024);
|
|
echo "File size is too large!(Must <= 5M)</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
|
|
if($impFileSize <=0){
|
|
echo "<font color=\"#FF0000\" size=3>subscriber data is null.</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
|
|
$impRecordNum = count(file($impFile));
|
|
if($DEBUG) echo "<br>impRecordNum=$impRecordNum";
|
|
if($impRecordNum > $maxImpRecordNum){
|
|
echo "<font color=\"#FF0000\" size=3>Records are too much!(Must <= $maxImpRecordNum)</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
|
|
if($impRecordNum > $maxTotalNum-$existNum){
|
|
echo "<font color=\"#FF0000\" size=3>User number is too much!</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
for ($k=0; $k<$runningServerNum; $k++) {
|
|
$getSysIdRow=mysqli_fetch_array($getSysIdResult);
|
|
$sysId=$sysTypeNo.'_'.$getSysIdRow[sysNo].'_'.$getSysIdRow[subSysNo];
|
|
$dstSeverIp = $getSysIdRow[ip];
|
|
if($sysTypeNo==360)
|
|
$sysIdCyc[$k] = '360_99_99';
|
|
else if($sysTypeNo==390)
|
|
$sysIdCyc[$k]='390_'.$getSysIdRow[sysNo].'_99';
|
|
else
|
|
$sysIdCyc[$k] = $sysId;
|
|
if($DEBUG) echo "<br>sysId = $sysId";
|
|
if($DEBUG) echo "<br>dstSeverIp = $dstSeverIp";
|
|
|
|
$ftpCon=ftp_connect($dstSeverIp);
|
|
if($ftpCon < 0){
|
|
echo "<font color=\"#FF0000\">Connect Failed!</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
if(!ftp_login($ftpCon,$ftpLoginName,$ftpLoginPwd)){
|
|
echo "<font color=\"#FF0000\">Login Failed!</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
|
|
$remoteFileName=$ftpDir.$impFileName;
|
|
if(!ftp_put($ftpCon,$remoteFileName,$impFile,FTP_ASCII)){
|
|
echo "<font color=\"#FF0000\">Put file Failed</font>";
|
|
@unlink ($impFile);
|
|
return 0;
|
|
}
|
|
ftp_quit($ftpCon);
|
|
$logFile="/usr/local/apache/htdocs/ftpFile/$logFileName";
|
|
@unlink ($logFile);
|
|
}
|
|
@unlink ($impFile);
|
|
|
|
//修改设备参数
|
|
if($sysTypeNo==340){
|
|
$k4_flag = 0; //should be 0 or 8.
|
|
$instanceNo = 0;
|
|
$commState = $k4_flag.'1';
|
|
$totalNum = DecHex($impRecordNum);
|
|
$totalNum = omc_keep_length($totalNum,'0',6);
|
|
if($k4_flag!=8)
|
|
$k4 = '0000000000000000';
|
|
else{
|
|
if(strlen($k4)<16){
|
|
echo "<font color=\"#FF0000\">K4 is incorrect!</font>";
|
|
return 0;
|
|
}
|
|
}
|
|
$newValue = $commState.$totalNum.$k4;
|
|
}else{
|
|
$instanceNo = 0;
|
|
$commState = '01';
|
|
$totalNum = DecHex($impRecordNum);
|
|
$totalNum = omc_keep_length($totalNum,'0',6);
|
|
$finishNum = '000000';
|
|
$newValue = $commState.$totalNum.$finishNum;
|
|
}
|
|
if($DEBUG)echo "<br>newValue=$newValue";
|
|
|
|
//send set command
|
|
|
|
for ($k=0; $k< $runningServerNum; $k++) {
|
|
$chgResult = setSysParamValue($sysIdCyc[$k],$impObjId,$instanceNo,$newValue);
|
|
$commStr = sysCommSend($sysIdCyc[$k],$nSetComm,$impObjId);
|
|
|
|
chkCommStat($sysId,$impObjId,$impRecordNum,$commStr);
|
|
}
|
|
}//end updateSubs
|
|
|
|
function chkCommStat($sysId,$impObjId,$impRecordNum,$commStr)
|
|
{
|
|
$nProcFail =0;
|
|
$nWaitProc =1;
|
|
$nInProc =2;
|
|
$nOutProc =3;
|
|
$sysIdArr=explode('_',$sysId);
|
|
$sysTypeNo =$sysIdArr[0];
|
|
$sysNo =$sysIdArr[1];
|
|
$subSysNo =$sysIdArr[2];
|
|
$maxSeconds = 20;
|
|
while(1) {
|
|
$paramValue = getSysParamValue($sysId,$impObjId,0,'readValue');
|
|
$impCommState = substr($paramValue,0,2);
|
|
$runSeconds += 2;
|
|
if($sysTypeNo==340){
|
|
$allNum=$impRecordNum;
|
|
$doneNum = substr($paramValue,2,6);
|
|
$doneNum = HexDec($doneNum);
|
|
}else{
|
|
$allNum = substr($paramValue,2,6);
|
|
$allNum = HexDec($allNum);
|
|
$doneNum = substr($paramValue,8,6);
|
|
$doneNum = HexDec($doneNum);
|
|
}
|
|
if($doneNum > $oldDoneNum){
|
|
$runSeconds = 0;
|
|
}
|
|
$oldDoneNum = $doneNum;
|
|
sleep(2);
|
|
if($runSeconds > $maxSeconds || $doneNum >= $allNum || $impCommState == '03' || $impCommState == '04')
|
|
{
|
|
if($impCommState == '04'){
|
|
echo "<FONT color=\"#FF0000\" ><b>Failed!</b></FONT>";
|
|
}elseif($runSeconds > $maxSeconds){
|
|
echo "<FONT color=\"#FF0000\" ><b>Response Time Out!</b></FONT>";
|
|
}else{
|
|
echo "<FONT color=\"#0000FF\" ><b>SUCCESS!</b></FONT>";
|
|
}
|
|
break;
|
|
}
|
|
|
|
|
|
$commIdArr = explode('-',$commStr);
|
|
$commId = $commIdArr[0];
|
|
|
|
$commSql = " SELECT commState FROM parameterComm WHERE commId = '$commId' ";
|
|
$commRes = mysqli_query($pubConn,$commSql);
|
|
$commRow = @mysqli_fetch_array($commRes);
|
|
$commStat = $commRow[commState];
|
|
if($commStat == $nOutProc || !isset($commStat)){
|
|
$commStr = sysCommSend($sysId,0,$impObjId);
|
|
}
|
|
}//end while
|
|
}//end chkCommStat
|
|
function updateBssDb($bssIpAddr,$localDir)
|
|
{
|
|
$remoteDir = "/hd0/iw07_00.010/compile/cfg/";
|
|
$ftpCon=@ftp_connect($bssIpAddr);
|
|
if($ftpCon < 0){
|
|
echo "<font color=\"#FF0000\">BSS's ip is error or connect $bssIpAddr Failed!</font>";
|
|
flush();
|
|
return 0;
|
|
}
|
|
if(!@ftp_login($ftpCon,'','')){
|
|
echo "<font color=\"#FF0000\">BSS's ip is error or login $bssIpAddr Failed!</font>";
|
|
@ftp_close($ftpCon);
|
|
flush();
|
|
return 0;
|
|
}
|
|
if(!@ftp_chdir($ftpCon, $remoteDir)){
|
|
echo "<font color=\"#FF0000\">Change dir error!</font>";
|
|
@ftp_close($ftpCon);
|
|
flush();
|
|
return 0;
|
|
}
|
|
$dir = @dir($localDir);
|
|
while(false !== ($entry=$dir->read())) {
|
|
if(is_file("$localDir$entry") && $entry!='.' && $entry!='..')
|
|
$fileArr[] = $entry;
|
|
}
|
|
for($i=0; $i< sizeof($fileArr); $i++) {
|
|
$file = $fileArr[$i];
|
|
$remoteFile=$remoteDir.$file;
|
|
$localFile=$localDir.$file;
|
|
if (!@ftp_put($ftpCon, $remoteFile, $localFile, FTP_BINARY)) {
|
|
flush();
|
|
echo "<font color=\"#FF0000\">Put file error!</font>";
|
|
@ftp_close($ftpCon);
|
|
return 0;
|
|
}
|
|
}//end for
|
|
|
|
@ftp_close($ftpCon);
|
|
return 1;
|
|
}//end get BssDb
|
|
?>
|
|
<body leftmargin=12 topmargin=5>
|
|
<?php
|
|
echo "<table border=\"0\" width=\"100%\">";
|
|
echo "<tr>";
|
|
echo "<td width=\"50%\">";
|
|
echo "$ThisPage";
|
|
echo "</td>";
|
|
echo "<td width=\"50%\" align=\"right\" title=\"Help\">";
|
|
showHelp($helpId);
|
|
echo "</td>";
|
|
echo "</tr>";
|
|
echo "</table>";
|
|
if(isset($inputFile)&&$inputFile!='')
|
|
{
|
|
$upload_file = $_FILES['inputFile']['tmp_name'];
|
|
$upload_file_name = $_FILES['inputFile']['name'];
|
|
$upload_file_size = $_FILES['inputFile']['size'];
|
|
$upload_file_type = $_FILES['inputFile']['type'];
|
|
$file_size_max = 20*1000*1000;// 20M限制文件上传最大容量(bytes)
|
|
$accept_overwrite = 1;//是否允许覆盖相同文件
|
|
|
|
//echo "<br>upload_file_type:$upload_file_type";
|
|
if($upload_file_type != 'application/x-gzip-compressed'
|
|
&&$upload_file_type != 'application/x-tgz')
|
|
MsgBox("File Type is not correct, it should be a tgz file!");
|
|
//exit;
|
|
// 检查文件大小
|
|
if ($upload_file_size > $file_size_max)
|
|
{
|
|
MsgBox("The file size is too large!");
|
|
}
|
|
$uploadPath = "/usr/local/apache/htdocs/db_backup/archive/uploaded/";// 上传文件的储存位置
|
|
system("rm -rf $uploadPath");
|
|
exec("mkdir $uploadPath -p");
|
|
//exec("chmod -R 777 $uploadPath");
|
|
chmod($uploadPath,0777);
|
|
|
|
// 检查读写文件
|
|
if (file_exists($uploadPath . $upload_file_name) && !$accept_overwrite)
|
|
{
|
|
MsgBox("The file is already existed!");
|
|
}
|
|
|
|
//复制文件到指定目录
|
|
if (!copy($upload_file,$uploadPath.$upload_file_name))
|
|
{
|
|
MsgBox("File copy error!");
|
|
}
|
|
|
|
//解压缩文件
|
|
chdir($uploadPath);
|
|
exec("tar zxvf $upload_file_name");
|
|
system("rm -f $upload_file_name");
|
|
sleep(2);
|
|
}
|
|
else
|
|
{
|
|
MsgBox($strNoInput);
|
|
}
|
|
//exit;
|
|
//////////////////////////////////////////
|
|
$allSuccess = 1;
|
|
|
|
$needUpdateParam = 1;
|
|
$needUpdateSubs = 1;
|
|
$needUpdateBSS = 1;
|
|
$needReboot = 1;
|
|
|
|
if($needUpdateParam && $allSuccess)
|
|
{//update parameters
|
|
$paramDir = 'params';
|
|
$paramPath = $uploadPath . $paramDir . '/';
|
|
if(is_dir($paramPath)) {//if there is exist paramPath.
|
|
echo "<br><font color=\"#0000FF\" size=\"3\"><b>Updating system parameters ... </b></font>";
|
|
flush();
|
|
getFileList($paramPath,$fileListArr);
|
|
|
|
// print_r($fileListArr);
|
|
// exit;
|
|
for($i=0; $i<sizeof($fileListArr); $i++)
|
|
{
|
|
$fileName = $fileListArr[$i];
|
|
$tmpArr = explode('.',$fileName);
|
|
if(sizeof($tmpArr)==3)
|
|
{
|
|
$csvFileName = $paramPath . $fileListArr[$i];
|
|
$db_name = $tmpArr[0];
|
|
$table_name = $tmpArr[1];
|
|
$tmpNameArr = explode('_',$db_name);
|
|
$sysTypeNo=$tmpNameArr[1];
|
|
if($sysTypeNo<300)$sysTypeName="PLAT";
|
|
else if($sysTypeNo==322) $sysTypeName="MSC";
|
|
else $sysTypeName = getNameByTypeNo($sysTypeNo);
|
|
if($sysTypeName=="VMS")
|
|
$sysTypeName="VSS";
|
|
if($oldName !== $sysTypeName){
|
|
echo "<br> <font color=\"#0000FF\">Updating [ <span class=\"inner\">$sysTypeName</span> ] ... </font>";
|
|
flush();
|
|
}
|
|
$rtn = updateParamer($db_name,$table_name,$csvFileName);
|
|
if($oldName !== $sysTypeName){
|
|
if($rtn==1)
|
|
echo "<font color=\"#0000FF\"><b> SUCCESS</b></font>";
|
|
else
|
|
echo "<font color=\"#FF0000\"><b> FAIL</b></font>";
|
|
flush();
|
|
}
|
|
$oldName = $sysTypeName;
|
|
$allSuccess &= $rtn;
|
|
}
|
|
}
|
|
|
|
system("rm -rf $paramDir");
|
|
}//end if
|
|
|
|
}//end update parameters.
|
|
|
|
if($needUpdateSubs && $allSuccess)
|
|
{//update subscribers' data
|
|
$subsDir = 'subs';
|
|
$subsPath = $uploadPath . $subsDir . '/';
|
|
|
|
if(is_dir($subsPath)) {//if there is exist subsPath
|
|
echo "<br><br><font color=\"#0000FF\" size=\"3\"><b>Updating system subscribers ... </b></font>";
|
|
flush();
|
|
unset($fileListArr);
|
|
getFileList($subsPath,$fileListArr);
|
|
|
|
for($i=0; $i<sizeof($fileListArr); $i++)
|
|
{
|
|
$fileName = $fileListArr[$i];
|
|
$tmpArr = explode('.',$fileName);
|
|
if(sizeof($tmpArr)==4)
|
|
{
|
|
$csvFileName = $subsPath . $fileListArr[$i];
|
|
$db_name = $tmpArr[0];
|
|
$table_name = $tmpArr[1];
|
|
$sysId = $tmpArr[2];
|
|
|
|
$tmpNameArr = explode('_',$db_name);
|
|
$sysTypeName=$tmpNameArr[0];
|
|
if($sysTypeName=="VMS")
|
|
$sysTypeName="VSS";
|
|
$filesize = filesize($csvFileName);
|
|
if($filesize > 0) {
|
|
echo "<br> <font color=\"#0000FF\">Updating [ <span class=\"inner\">$sysTypeName</span> ] ... </font>";
|
|
flush();
|
|
updateSubs($sysId,0,$csvFileName);
|
|
}
|
|
}
|
|
}
|
|
system("rm -rf $subsDir");
|
|
}
|
|
}//end update subscribers' data
|
|
|
|
if($needUpdateBSS && $allSuccess)
|
|
{//update bss.
|
|
$bssDir = "bssDir";
|
|
$bssPath = $uploadPath . $bssDir . '/';
|
|
$bssOmcTlbDir = "omcTlb";
|
|
$bssOmcTlbPath = $bssPath . $bssOmcTlbDir . '/';
|
|
$bssDbDir = "dbs";
|
|
$bssDbPath = $bssPath . $bssDbDir . '/';
|
|
if(is_dir($bssPath)){//if there exist this bssDir
|
|
echo "<br><br><font color=\"#0000FF\" size=\"3\"><b>Updating BSS ... </b></font>";
|
|
flush();
|
|
|
|
//1. update bss db.
|
|
if(1)
|
|
{
|
|
$dir = dir($bssDbPath);
|
|
while(false !== ($entry = $dir->read())) {
|
|
if(is_dir("$bssDbPath/$entry") && $entry != "." && $entry != "..")
|
|
$bssIpArr[] = $entry;
|
|
}
|
|
for($i=0; $i< sizeof($bssIpArr); $i++) {
|
|
$ip = $bssIpArr[$i];
|
|
//$ip = '172.18.128.111';
|
|
echo "<br> <font color=\"#0000FF\">Updating BSS' Database [ $ip ] ... </font>";
|
|
flush();
|
|
$rtn = updateBssDb($ip,"$bssDbPath/$ip/");
|
|
if($rtn)
|
|
echo "<font color=\"#0000FF\"><b> SUCCESS</b></font><br>";
|
|
$allSuccess &= $rtn;
|
|
}
|
|
}//end update bss db.
|
|
|
|
//2. update bssomctable.
|
|
if($allSuccess)
|
|
{
|
|
unset($fileListArr);
|
|
getFileList($bssOmcTlbPath,$fileListArr);
|
|
for($i=0; $i<sizeof($fileListArr); $i++)
|
|
{
|
|
$fileName = $fileListArr[$i];
|
|
$tmpArr = explode('.',$fileName);
|
|
if(sizeof($tmpArr)==3)
|
|
{
|
|
$csvFileName = $bssOmcTlbPath . $fileListArr[$i];
|
|
$db_name = $tmpArr[0];
|
|
$table_name = $tmpArr[1];
|
|
echo "<br> <font color=\"#0000FF\">Updating BSS' parameters ... </font>";
|
|
$rtn = updateParamer($db_name,$table_name,$csvFileName);
|
|
if($rtn==1)
|
|
echo "<font color=\"#0000FF\"><b> SUCCESS</b></font>";
|
|
else
|
|
echo "<font color=\"#FF0000\"><b> FAIL</b></font>";
|
|
flush();
|
|
$allSuccess &= $rtn;
|
|
}
|
|
}
|
|
|
|
{//2.2 insert bss info to sysInfo table
|
|
$lines = file($csvFileName);
|
|
|
|
foreach ($lines as $line_num => $line) {
|
|
//echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
|
|
$lineArr = explode(',',$line);
|
|
$bssInfoArr[$line_num][sysNo] = $lineArr[0];
|
|
$bssInfoArr[$line_num][ip] = $lineArr[1];
|
|
}
|
|
$sysInfoTable = "OMC_PUB.sysInfo";
|
|
$tmpSysType = 500;
|
|
$tmpSubSysNo = 0;
|
|
$isRemote = 0;
|
|
$pubDb = "OMC_PUB";
|
|
for($i=0; $i< sizeof($bssInfoArr); $i++){
|
|
if(strlen($bssInfoArr[$i][ip])<7) continue;
|
|
$bssIP = $bssInfoArr[$i][ip];
|
|
$tmpSysNo = $bssInfoArr[$i][sysNo];
|
|
$sysAlias='BSS'.$tmpSysNo;
|
|
$addSql = "REPLACE INTO $sysInfoTable (sysTypeNo,sysNo,subSysNo,isRemote,netId,DPC,ip,baseStat,sysAlias,updateTime )
|
|
VALUES('$tmpSysType','$tmpSysNo','$tmpSubSysNo','$isRemote','0','0','$bssIP','1','$sysAlias',CURRENT_TIMESTAMP)";
|
|
|
|
if($DEBUG) echo "<br>addSql = $addSql";
|
|
$result = mysqli_query($pubConn,$addSql);
|
|
echo mysqli_error($pubConn);
|
|
}
|
|
}//end nsert bss info to sysInfo table
|
|
}//end update bssomctable.
|
|
system("rm -rf $bssDir");
|
|
if($needReboot && $allSuccess)//3. reboot bss.
|
|
{
|
|
chdir("/usr/local/apache/htdocs/wxc2_omc/security/backupRestore");
|
|
for($i=0; $i< sizeof($bssIpArr); $i++) {
|
|
$ip = $bssIpArr[$i];
|
|
echo "<br> <font color=\"#0000FF\">Rebooting BSS [ $ip ] ... </font>";
|
|
flush();
|
|
$tmpCmd ="/usr/local/apache/htdocs/wxc2_omc/element/overview/bssReboot".' '.$ip;
|
|
system($tmpCmd);
|
|
//$lastLine = system($tmpCmd, $rtn);
|
|
//echo "<br>$tmpCmd<br>$lastLine<br>$rtn";
|
|
}
|
|
//var_dump($bssIpArr);
|
|
}//end reboot bss.
|
|
|
|
$tmpCmd ="/usr/local/apache/htdocs/wxc2_omc/element/overview/bsscommRestart";
|
|
system($tmpCmd);
|
|
}
|
|
}//end update bss.
|
|
|
|
//exit;
|
|
|
|
if($allSuccess) {
|
|
//MsgBox("All needed success");
|
|
echo "<script language=\"javascript\">";
|
|
echo "alert('Resotre Completed Successfully!');";
|
|
echo "window.location=\"upLoadingElements.php?pageaction=setall&resetDevice=1\"";
|
|
echo "</script>";
|
|
}
|
|
else {
|
|
echo "<p align=\"left\"><a href=\"overview.php?restoreShow=1\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
|
|
}
|
|
|
|
?>
|