PDA

Bekijk Volledige Versie : Apc/php/snmp



ju5t
03/06/08, 16:40
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.

ichosting
03/06/08, 17:12
Wij gebruiken dit als basis (weet niet of ik links mag plaatsen): http://freshmeat.net/projects/powerswitch/

Misschien dat je daar iets mee kunt?

ju5t
03/06/08, 17:46
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.

Randy
03/06/08, 18:23
<<< 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?

xaban
10/06/12, 01:24
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;
}


?>