
Thanks!
Code: Select all
<?php
// set_node_alert - sets node alerting on or off for all or a set of nodes
$BaseDir="../"; // must point to server/base/ with trailing /
require($BaseDir."nats.php");
$NATS->Start();
$exit=false;
if ($argc<2) $exit=true; // not enough options
else if ($argv[1]=="on") $nodealert=1;
else if ($argv[1]=="off") $nodealert=0;
else $exit=true; // illegal option
if ($exit)
{
echo "Usage: php set_node_alert.php on|off [nodes...]\n";
echo "Sets nodealert on all or specified nodes\n\n";
echo "php set_node_alert.php on\n";
echo " turns on nodealert on all nodes\n\n";
echo "php set_node_alert.php off node1 node2\n";
echo " turns off nodealerts on node1 and node2\n\n";
exit();
}
$data=array("nodealert" => $nodealert); // data array
$nodes=array();
if ($argc>2) // command-line specified nodes
{
for ($a=2; $a<$argc; $a++)
$nodes[]=ss($argv[$a]); // safe-string it
}
else // all nodes
{
$query="SELECT nodeid FROM fnnode";
$result=$NATS->DB->Query($query);
while ($noderow=$NATS->DB->Fetch_Array($result))
$nodes[]=$noderow['nodeid'];
$NATS->DB->Free($result);
}
echo "Setting nodealert=".$nodealert."\n";
foreach($nodes as $node)
{
echo $node;
$NATS->SetNode($node,$data);
echo "\n";
}
$NATS->Stop();
?>
Code: Select all
#!/bin/sh
cd /opt/freenats/server/base/site
php set_node_alerts.php off node1 node2 node3 > /dev/null
Code: Select all
#!/bin/sh
cd /opt/freenats/server/base/site
php set_node_alerts.php on node1 node2 node3 > /dev/null