|
|
#!/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 ' -- '; |
|
|
} |
|
|
} |
|
|
|
|
|
|