Bekijk Volledige Versie : Apc/php/snmp
We zoeken een script wat via SNMP specifieke poorten kan rebooten/in- uitschakelen (dus alledrie) op een APC. Script moet geschreven worden of zijn in PHP waarin we zelf onze gegevens in zullen verwerken (communities en ip-adressen). We maken het zelf geschikt voor meerdere APC's.
Als het mogelijk is ook graag status uitlezing (on/off).
Graag zie ik jullie kosten + contact gegevens tegemoet.
Wij gebruiken dit als basis (weet niet of ik links mag plaatsen): http://freshmeat.net/projects/powerswitch/
Misschien dat je daar iets mee kunt?
Voorkeur is PHP, geen Perl. Het liefst gewoon kant en klaar zodat wij alleen de kleine aanpassingen kunnen doen en het binnen ons control panel kunnen plaatsen.
<<< Knip >>>
Shout maar even op MSN... Even geen tijd en zin om alle ips en communitys aan te passen.
En geregeld...
PHP ding is verder wel duidelijk Thomas?
Wij gebruiken dit als basis (weet niet of ik links mag plaatsen): http://freshmeat.net/projects/powerswitch/
Misschien dat je daar iets mee kunt?
Geeft helaas een 404 weer als ik de script wil downloaden. Iemand nog een handig link?
dennis0162
10/06/12, 10:46
Misschien heb je hier wat aan:
<?php
function apcGetStatus($APCip, $APCport, $APCsnmpwrite) {
$APCresponse = snmpget($APCip, $APCsnmpwrite, ".1.3.6.1.4.1.318.1.1.4.4.2.1.3.".$APCport);
$APCresponse = str_replace('INTEGER: ', '', $APCresponse);
switch ($APCresponse) {
case '1':
$returnVal = 'On';
break;
case '2':
$returnVal = 'Off';
break;
case '3':
$returnVal = 'Reboot';
break;
case '4':
$returnVal = 'Unknown';
break;
case '5':
$returnVal = 'On with delay';
break;
case '6':
$returnVal = 'Off with delay';
break;
case '7':
$returnVal = 'Reboot with delay';
break;
default:
$returnVal = $APCresponse;
}
return $returnVal;
}
function apcSetStatus($APCip, $APCport, $rebootOption, $APCsnmpwrite) {
switch ($rebootOption) {
case '1':
$actionTo = 'On';
break;
case '2':
$actionTo = 'Off';
break;
case '3':
$actionTo = 'Reboot';
break;
case '5':
$actionTo = 'On with delay';
break;
case '6':
$actionTo = 'Off with delay';
break;
case '7':
$actionTo = 'Reboot with delay';
break;
default:
return 'Invalid reboot option passed';
}
$actionFrom = apcGetStatus($APCip, $APCport, $APCsnmpwrite);
if ( snmpset ( $APCip, $APCsnmpwrite, ".1.3.6.1.4.1.318.1.1.4.4.2.1.3.".$APCport, 'i', $rebootOption) )
{
$returnVal = "Actioned:$actionFrom to $actionTo";
}
else
{
$returnVal = "Failed to Action:$actionFrom to $actionTo";
}
return $returnVal;
}
?>