0,0 → 1,97 |
#!/usr/bin/php |
<?php |
|
# |
# generic Whois - Whois Server Ping Testing Suite |
# |
# (c) 2013-2014 Daniel Marschall, ViaThinkSoft [www.viathinksoft.de] |
# |
# Distribution, usage etc. pp. regulated by the current version of GPL. |
# |
# |
# Version 2014-09-12 |
# |
|
error_reporting(E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED); |
|
require_once __DIR__ . '/../../../shared/php_includes/common_functions.inc.php'; |
require_once __DIR__ . '/whoisping_functions.inc.php'; |
require_once __DIR__ . '/config.inc.php'; |
|
$db = new SQLite3(__DIR__.'/../../.cache/whois-server-ping/whoisping.db'); # TODO: in config auslagern |
if (!$db) die ($error); |
|
gwitc_initdb($db); |
|
/* |
$stm = "SELECT * FROM gwi_tc_whois_ping WHERE server = 'whois.nic.ve'"; |
$result = $db->query("SELECT * FROM gwi_tc_whois_ping WHERE server = 'whois.nic.ve'"); |
$row = $result->fetchArray(SQLITE3_ASSOC); |
print_r($row); |
*/ |
|
$status=0; |
|
$pattern_servers = array(); |
$pattern_files = getpatternfiles(); |
foreach ($pattern_files as &$pattern_file) { |
$pattern_servers_c = gwitc_list_whois_servers($pattern_file); |
$pattern_servers = array_merge($pattern_servers, $pattern_servers_c); |
} |
|
$dead_servers = array(); |
$dead_servers_raw = file(__DIR__ . '/../../config/dead-servers.list'); |
foreach ($dead_servers_raw as &$server) { |
$server = trim($server); |
if ($server == '') continue; |
if ($server[0] == '#') continue; |
|
$dead_servers[] = $server; |
} |
|
# $servers = $dead_servers + $pattern_servers |
$servers = array(); |
foreach ($pattern_servers as &$server) { |
if (!in_array($server, $servers)) { |
$servers[] = $server; |
} |
} |
foreach ($dead_servers as &$server) { |
if (!in_array($server, $servers)) { |
$servers[] = $server; |
} else { |
if (in_array($server, $dead_servers)) { |
$status=1; |
echo "[ !! ] Attention! $server is in dead-servers.list and pattern. Please remove one instance!\n"; |
} |
} |
} |
|
foreach ($servers as &$server) { |
$reborn = gwitc_reborn_val($db, $server); |
if ($reborn) { // TODO: also show time since when it is reborn? |
if (in_array($server, $dead_servers)) { |
$status=1; |
echo "[ !! ] Attention: $server is ALIVE again! Please remove from dead-servers.list and add to pattern.\n"; |
} |
|
if (in_array($server, $pattern_servers) && (!in_array($server, $dead_servers))) { |
gwitc_set_reborn($db, $server, 0); |
} |
} else { |
if (in_array($server, $dead_servers) && (!in_array($server, $pattern_servers))) continue; |
|
$duration = gwitc_fail_duration($db, $server); |
if ($duration < WHOIS_SERVER_DEAD_AFTER) continue; |
$status=1; |
echo "[ !! ] $server down for ".human_timediff($duration)."; first fail: ".date('Y-m-d', gwitc_first_fail($db, $server))."\n"; |
} |
} |
|
$db->close(); |
|
if ($status == 0) { |
echo "[ OK ]\n"; |
} |
|
exit($status); |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |