#!/usr/bin/php -q '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ão foi possí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 ' -- '; } }