function parseLeases() { $BaseWorkDir = "/var/log/artica-postfix/DHCP-LEASES"; @mkdir($BaseWorkDir, 0755, true); if (!($handle = opendir($BaseWorkDir))) { echo "Failed open {$BaseWorkDir}\n"; return; } while (false !== ($filename = readdir($handle))) { if ($filename == ".") { continue; } if ($filename == "..") { continue; } $targetFile = "{$BaseWorkDir}/{$filename}"; $array = unserialize(@file_get_contents($targetFile)); @unlink($targetFile); if (!is_array($array)) { continue; } $ip = $array["IP"]; $mac = $array["MAC"]; $hostname = $array["hostname"]; if ($ip == null) { continue; } CreateComputerLogs($ip, $mac, $hostname); update_computer($ip, $mac, $hostname); } }
function parseLeases() { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . ".parseLeases.pid"; $pidTime = "/etc/artica-postfix/pids/exec.dhcpd-leases.php.parseLeases.time"; if ($unix->process_exists(@file_get_contents($pidfile, basename(__FILE__)))) { if ($GLOBALS["VERBOSE"]) { echo " --> Already executed.. " . @file_get_contents($pidfile) . " aborting the process\n"; } die; } @file_put_contents($pidfile, getmypid()); if (!$GLOBALS["FORCE"]) { $TimeFile = $unix->file_time_min($pidTime); if ($TimeFile < 5) { if ($GLOBALS["VERBOSE"]) { echo " {$TimeFile}Mn, require 5mn\n"; } die; } } @unlink($pidTime); @file_put_contents($pidTime, time()); $pid = dhcpd_pid(); if (!$unix->process_exists($pid)) { if ($GLOBALS["VERBOSE"]) { echo " --> DHCPD service not running...\n"; } return; } $ptime = $unix->PROCCESS_TIME_MIN($pid); if ($ptime < 2) { if ($GLOBALS["VERBOSE"]) { echo " --> DHCPD service running before 2mn...\n"; } return; } $BaseWorkDir = "/var/log/artica-postfix/DHCP-LEASES"; @mkdir($BaseWorkDir, 0755, true); if (!($handle = opendir($BaseWorkDir))) { echo "Failed open {$BaseWorkDir}\n"; return; } while (false !== ($filename = readdir($handle))) { if ($filename == ".") { continue; } if ($filename == "..") { continue; } $targetFile = "{$BaseWorkDir}/{$filename}"; $TimeFile = $unix->file_time_min($targetFile); if ($TimeFile > 240) { @unlink($TimeFile); continue; } $array = unserialize(@file_get_contents($targetFile)); @unlink($targetFile); if (!is_array($array)) { continue; } $ip = $array["IP"]; $mac = $array["MAC"]; $hostname = $array["hostname"]; if ($ip == null) { continue; } CreateComputerLogs($ip, $mac, $hostname); update_computer($ip, $mac, $hostname); } }