#!/usr/bin/env php | Poll single device\n"; echo "-h odd Poll odd numbered devices (same as -i 2 -n 0)\n"; echo "-h even Poll even numbered devices (same as -i 2 -n 1)\n"; echo "-h all Poll all devices\n"; echo "-h new Poll all devices that have not had a discovery run before\n"; echo "--os Poll devices only with specified operating system\n"; echo "--type Poll devices only with specified type\n"; echo "-i -n Poll as instance of \n"; echo " Instances start at 0. 0-3 for -n 4\n"; echo "\n"; echo "Debugging and testing options:\n"; echo "-d Enable debugging output\n"; echo "-v Enable verbose debugging output\n"; echo "-m Specify single module to be run\n"; echo "\n"; echo "Invalid arguments!\n"; exit; } update_os_cache(); // will only update if needed $discovered_devices = 0; if (!empty($config['distributed_poller_group'])) { $where .= ' AND poller_group IN('.$config['distributed_poller_group'].')'; } global $device; foreach (dbFetch("SELECT * FROM `devices` WHERE status = 1 AND disabled = 0 $where ORDER BY device_id DESC", $sqlparams) as $device) { discover_device($device, $options); } $end = microtime(true); $run = ($end - $start); $proctime = substr($run, 0, 5); if ($discovered_devices) { dbInsert(array('type' => 'discover', 'doing' => $doing, 'start' => $start, 'duration' => $proctime, 'devices' => $discovered_devices, 'poller' => $config['distributed_poller_name']), 'perf_times'); if ($doing === 'new') { // We have added a new device by this point so we might want to do some other work oxidized_reload_nodes(); } } if ($doing === 'new') { $new_discovery_lock->release(); } $string = $argv[0]." $doing ".date($config['dateformat']['compact'])." - $discovered_devices devices discovered in $proctime secs"; d_echo("$string\n"); if (!isset($options['q'])) { printStats(); } logfile($string);