|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
error_reporting(E_ERROR);
|
|
|
|
|
ini_set('display_errors', 0);
|
|
|
|
|
ini_set("default_socket_timeout", 5);
|
|
|
|
|
|
|
|
|
|
echo "Inicio: " . date('d/m/Y H:i:s') . "\n";
|
|
|
|
|
$comando = $argv[1] ? $argv[1] : "/var/spool/asterisk/monitor/";
|
|
|
|
|
$somaSize = 0;
|
|
|
|
|
$vpnOffline = 0;
|
|
|
|
|
$vpnOnline = 0;
|
|
|
|
|
|
|
|
|
|
$cloud = array('vpn' => '10.254.254.210', 'pass' => false);
|
|
|
|
|
try {
|
|
|
|
|
$resp = GetConnect();
|
|
|
|
|
while ($data = mssql_fetch_array($resp)) {
|
|
|
|
|
$size = ___GetPermissionsSSH($data['vpn'], $comando);
|
|
|
|
|
|
|
|
|
|
$cmdVersao = 'php -r "require \'/var/www/html/aplicativo/util/funcoesApl.php\'; echo GetVersao();"';
|
|
|
|
|
|
|
|
|
|
if ($data['vpn'] == $cloud['vpn'] && $cloud['pass'] == false) {
|
|
|
|
|
$somaSize += $size;
|
|
|
|
|
$cloud['pass'] = true;
|
|
|
|
|
} else if ($data['vpn'] != $cloud['vpn']) {
|
|
|
|
|
$somaSize += $size;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
echo "-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n";
|
|
|
|
|
echo sprintf("Emp: %s | CNPJ: %s | VPN: %s | Audio Size: %s | Versao: %s \n", substr(str_pad($data['RazaoSocial'], 50, ' '), 0, 50), $data['CGC_CPF'], str_pad($data['vpn'], 16, " "), str_pad(convertToReadableSize($size),19, ' '), ___GetPermissionsSSH($data['vpn'], $cmdVersao, 'ALL'));
|
|
|
|
|
}
|
|
|
|
|
echo "-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n";
|
|
|
|
|
echo "Tamanho Total: " . convertToReadableSize($somaSize) . " | VPN Online: $vpnOnline | VPN Offline: $vpnOffline";
|
|
|
|
|
echo "\n-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n";
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
echo $ex->getMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetConnect() {
|
|
|
|
|
|
|
|
|
|
$dbhost = "192.168.115.28";
|
|
|
|
|
$dbname = "VendaMaisDB_simplesip";
|
|
|
|
|
$user = "sa";
|
|
|
|
|
$passwd = "SimpleS_root";
|
|
|
|
|
|
|
|
|
|
$conn = mssql_connect($dbhost, $user, $passwd) or die(mssql_get_last_message());
|
|
|
|
|
mssql_select_db($dbname) or die(mssql_get_last_message());
|
|
|
|
|
|
|
|
|
|
$query = "select 0 as ord, ClienteId, RazaoSocial, CGC_CPF, dbo.sonumero(substring(FichaTecnica, charindex('VPN', FichaTecnica) + 5, 14), '.') as vpn
|
|
|
|
|
from Clientes
|
|
|
|
|
where RamoDeAtividadeId = 64
|
|
|
|
|
and AtivoCliente = 1
|
|
|
|
|
--and Fornecedor = 1
|
|
|
|
|
and IsCliente = 1
|
|
|
|
|
and dbo.sonumero(substring(FichaTecnica, charindex('VPN', FichaTecnica) + 5, 14), '.') <> ''";
|
|
|
|
|
|
|
|
|
|
$result = mssql_query($query, $conn);
|
|
|
|
|
|
|
|
|
|
if (!$result) {
|
|
|
|
|
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel consultar as VPN's.");
|
|
|
|
|
}
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ___GetPermissionsSSH($ip, $comando, $modo = 'HD') {
|
|
|
|
|
|
|
|
|
|
$connection = ssh2_connect($ip, 2223);
|
|
|
|
|
$auth = ssh2_auth_password($connection, 'simples', '#uwabaki@8280_$');
|
|
|
|
|
if ($auth === false) {
|
|
|
|
|
ssh2_auth_password($connection, 'simples', '@pentatonica_8280#');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$connection) {
|
|
|
|
|
GravarLog("Nao foi possivel conectar na central! VPN: $ip", 'ERROR');
|
|
|
|
|
return " -- ";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($modo == 'HD') {
|
|
|
|
|
$stdio_stream = ssh2_exec($connection, "du -hsb $comando | awk {'print $1'}" . "\n");
|
|
|
|
|
} else if ($modo == 'ALL'){
|
|
|
|
|
$stdio_stream = ssh2_exec($connection, $comando . "\n");
|
|
|
|
|
}
|
|
|
|
|
stream_set_blocking($stdio_stream, true);
|
|
|
|
|
$sistema = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDIO);
|
|
|
|
|
$sistema = stream_get_contents($sistema);
|
|
|
|
|
|
|
|
|
|
return $sistema;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GravarLog($log, $type = 'DEBUG') {
|
|
|
|
|
$patLog = "/var/log/central_algar.log";
|
|
|
|
|
$log = date('d/m/Y H:i:s') . " [ $type ] " . $log . "\n";
|
|
|
|
|
file_put_contents($patLog, $log, FILE_APPEND);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function convertToReadableSize($size) {
|
|
|
|
|
global $vpnOffline, $vpnOnline;
|
|
|
|
|
if ($size > 0) {
|
|
|
|
|
$vpnOnline ++;
|
|
|
|
|
$base = log($size) / log(1024);
|
|
|
|
|
$suffix = array("", "KB", "MB", "GB", "TB");
|
|
|
|
|
$f_base = floor($base);
|
|
|
|
|
return round(pow(1024, $base - floor($base)), 1) . $suffix[$f_base];
|
|
|
|
|
} else {
|
|
|
|
|
$vpnOffline ++;
|
|
|
|
|
return ' -- ';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|