$strBackupRestore > "."Download&Upload";
$DEBUG = 0;
$pubDb = "OMC_PUB";
set_time_limit(3600);
$strNoInput = "No file input!";
function MsgBox($str)
{
echo "";
}//end MsgBox
function createParamCVS($path,$tbNameArr)
{
$pubDb = "OMC_PUB";
global $pubConn;
for($i=0; $i
";
flush();
//echo "
($isFinish != 0) || ($waitTime >= $maxWaitTime) || ($stopTime > $maxStopTime)";
if(($isFinish != 0) || ($waitTime >= $maxWaitTime) || ($stopTime > $maxStopTime)){
if($commId >= $maxOfCommId){ //初始化命令表
//先删除表
$dropSql = "DROP TABLE $commTable ";
mysqli_query($pubConn,$dropSql);
//再建一个结构相同的新表
$createSql="CREATE TABLE subscriberComm (
commId smallint(5) unsigned NOT NULL auto_increment,
commType tinyint(1) DEFAULT '0' NOT NULL,
dataTypeNo tinyint(4) DEFAULT '0' NOT NULL,
sysTypeNo smallint(5) unsigned DEFAULT '0' NOT NULL,
sysNo smallint(5) unsigned DEFAULT '0' NOT NULL,
subSysNo smallint(5) unsigned DEFAULT '0' NOT NULL,
indexValueList varchar(255) NOT NULL,
fieldNameList tinytext NOT NULL,
paramType tinyint(4) DEFAULT '0' NOT NULL,
commState tinyint(3) unsigned DEFAULT '0' NOT NULL,
totalNum smallint(5) unsigned DEFAULT '0' NOT NULL,
finishNum smallint(5) unsigned DEFAULT '0' NOT NULL,
sendTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
bgnTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
endTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
remark varchar(200) binary NOT NULL,
PRIMARY KEY (commId),
KEY sysTypeNo (sysTypeNo),
KEY sysNo (sysNo),
KEY subSysNo (subSysNo),
KEY bufferKey (indexValueList)
)
";
mysqli_query($pubConn,$createSql);
}else{
//删除命令表的相关命令
$commArr = explode('-',$commIdStr);
for($i=0;$i
Can not find this command's info in datebase";
exit();
}
$commRows = @mysqli_fetch_array($commResult);
$sysTypeNo = $commRows[sysTypeNo];
$sysNo = $commRows[sysNo];
$subSysNo = $commRows[subSysNo];
$commType = $commRows[commType];
$paramType = $commRows[paramType];
$objId = $commRows[objId];
$commState = $commRows[commState];
$indexValueList = $commRows[indexValueList];
$fieldNameList = $commRows[fieldNameList];
$remark = $commRows[remark];
switch($commState){
case 0: //process failed
$failNum++;
echo " $commRows[remark] ";
flush();
return 0;
//break;
case 1: //wait process
$waitTime++;
break;
case 2: //in process
$waitTime = 0;
//只要有一个命令的完成数在增长,就认为该组命令在运行,否则认为命令处理超时
if($DEBUG) echo "====> {$commRows[finishNum]} > {$lastTimeFinishNumArr[$i]}";
if($commRows[finishNum] > $lastTimeFinishNumArr[$i]){
$stopTime = 0;
}else{
$stopTime++;
}
$thisTimeFinishNumStr .=$commRows[finishNum].'-';
break;
case 3: //process finished
$okNum++;
break;
default:
echo "Unknown Command State";
flush();
exit();
}
}//end of for($i=0;$i
lastTimeFinishNumStr=$lastTimeFinishNumStr";
if($DEBUG) echo"
thisTimeFinishNumStr=$thisTimeFinishNumStr";
$lastTimeFinishNumStr = $thisTimeFinishNumStr;
//刷新返回
//--------------
$usedTime++; //总时间
sleep(5);
}//end while
}
function createSubsCVS($path,$subsTlbName,$sysId)
{
$pubDb = "OMC_PUB";
$filePath = $path . "$subsTlbName.$sysId.csv";
if (is_file($filePath))
unlink($filePath);
$csvFileUpdateSql=" SELECT *
INTO OUTFILE '{$filePath}'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM $subsTlbName limit 0,5000
";
//echo "
csvFileUpdateSql= $csvFileUpdateSql";
$csvFileUpdateResult = mysqli_query($pubConn ,$csvFileUpdateSql);
echo mysqli_error($pubConn);
}//end createSubsCVS
function getBssIp (&$bssIpArr)
{
$bssDb = "BssOmcDb";
$bssTable = "OMCR_BSSTABLE";
$selSql = "select ip,bssid from $bssTable";
$bssResult = mysqli_query($pubConn,$selSql);
while($bssRow = mysqli_fetch_array($bssResult))
{
$ip = $bssRow[ip];
if(strlen($ip)< 7) continue;
$bssIpArr[] = $ip;
}
}//end getBssIp
function getBssDb($bssDbPath,$bssIpAddr)
{
$fileArr = array('abis.db', 'bscadmin.db', 'calltrc.db', 'sysmon.db',
'aifadmin.db', 'BssGb.db', 'frmgr.db', 'trkadmin.db');
$remoteDir = "/hd0/iw07_00.010/compile/cfg/";
$ftpCon=@ftp_connect($bssIpAddr);
if($ftpCon < 0){
echo "BSS's ip is error or connect $bssIpAddr Failed!";
flush();
return 0;
}
if(!@ftp_login($ftpCon,'','')){
echo "BSS's ip is error or login $bssIpAddr Failed!";
@ftp_close($ftpCon);
flush();
return 0;
}
if(!@ftp_chdir($ftpCon, $remoteDir)){
echo "Change dir error!";
@ftp_close($ftpCon);
flush();
return 0;
}
$localDir = $bssDbPath . $bssIpAddr . '/';
mkdir($localDir, 0777);
for($i=0; $i< sizeof($fileArr); $i++) {
$file = $fileArr[$i];
$remoteFile=$remoteDir.$file;
$localFile=$localDir.$file;
if (!@ftp_get($ftpCon, $localFile, $remoteFile, FTP_BINARY)) {
flush();
echo "Get file error!";
@ftp_close($ftpCon);
return 0;
}
}//end for
@ftp_close($ftpCon);
return 1;
}//end get BssDb
?>
";
echo "";
echo " ";
echo "";
?>
111, 'name' => 'PLAT'),
array('typeNo' => 222, 'name' => 'PLAT'),
array('typeNo' => 223, 'name' => 'PLAT'),
array('typeNo' => 225, 'name' => 'PLAT')
);
$selSql = " select * from OMC_PUB.elementExistConf where existFlag=1 and elementTypeNo!=0 order by elementNo";
$exitRes = mysqli_query($pubConn,$selSql);
while($exitRows = mysqli_fetch_array($exitRes))
{
$typeNo = $exitRows[elementTypeNo];
if($typeNo==320)
{
$typeNo=322;
$tmpAllSysArr[] = array('typeNo' => 325, 'name' => 'VLR');
}
$name = $exitRows[elementName];
$tmpAllSysArr[] = array('typeNo' => $typeNo, 'name' => $name);
}
for($i=0; $i";
echo "$ThisPage";
echo " ";
echo "";
showHelp($helpId);
echo " ";
echo "
Getting parameter data from devices ... ";
flush();
for($i=0; $i
";
echo "
Creating parameter tables ... ";
exec("mkdir $paremerPath -p");
exec("chmod -R 777 $paremerPath");
for($i=0; $i
";
echo "
Getting subscribers data from devices ... ";
flush();
for($i=0; $i
Creating subscriber tables ... ";
for($i=0; $i< sizeof($subsDbArr); $i++)
{
$subsTlbName = $subsDbArr[$i][subsTlb];
$sysId = $subsDbArr[$i][sysId];
$sysName = $subsDbArr[$i][name];
if($sysName !== $oldName) {
echo "
[ $sysName ] ... ";
flush();
}
createSubsCVS($subsPath,$subsTlbName,$sysId);
if($sysName !== $oldName) {
echo "Finished.";
flush();
}
$oldName = $sysName;
}//end subscribers table.
}//end create subscribers cvs files.
$selSql = " select * from OMC_PUB.elementExistConf where existFlag=1 and elementTypeNo=500";
$exitRes = mysqli_query($pubConn,$selSql);
if($exitRows = mysqli_fetch_array($exitRes))//get bss data
{
echo "
";
echo "
Getting BSS data ... ";
flush();
exec("mkdir $bssOmcTlbPath -p");
exec("chmod -R 777 $bssOmcTlbPath");
$tbNameArr = array('BssOmcDb.OMCR_BSSTABLE');
echo "
Creating parameter tables ... ";
createParamCVS($bssOmcTlbPath,$tbNameArr);
echo "Finished.";
//get bss db.
exec("mkdir $bssDbPath -p");
exec("chmod -R 777 $bssDbPath");
chdir($bssDbPath);
getBssIp ($bssIpArr);
for($i=0; $i
";
echo "
Compressing files ... ";
flush();
if (is_dir($tgzPath))
{
exec("rm -rf $tgzPath");
}
chdir($archivePath);
exec("tar zcvf $tgzName *");
exec("mkdir $tgzPath -p");
exec("chmod -R 777 $tgzPath");
exec("mv $tgzName $tgzPath");
exec("rm -rf $subsDir $paramDir $bssDir");
echo "Finished.";
flush();
}//end compress files.
//exit;
echo "";
?>