#!/usr/bin/php
<?php
/************* Librarie */
function error_message($message)
{
	fwrite(STDERR,"FAILED  - $message\n");
}

function success_message($message)
{
	fwrite(STDOUT,"SUCCESS - $message\n");
}

/************* Functions de callbacks */


define('UNITY_SWAP_MAX',30);
define('UNITY_ZOMBIE_MAX',200);


function check_swap(){
        $output=array();
        exec("/usr/local/esia/plugins/check_snmp_mem.pl -H 127.0.0.1 -C public -w 98,40 -c 99,".UNITY_SWAP_MAX,$output,$ret_val);
        if($ret_val==2)
        {
                error_message("Unity SWAP (>".UNITY_SWAP_MAX.")");
                return false;
        }
        success_message("SWAP Unity OK (<".UNITY_SWAP_MAX.")");
        return true;
}
$action = $argv[1];
if($action =='test')
{
	$result = check_swap();
	if($result==TRUE)
	{
		exit(0);
	}
	else
	{
		exit(1);
	}
}
elseif($action =='rescue')
{
	exec("secure-shutdown shutdown -r +1",$output,$ret);
    if($ret==0)
    {
		success_message("Restart unity success");
		exit(0);
	}
    else
    {
		error_message("Unable to restart unity");
		exit(1);
	}
}
else
{
	error_message("BAD COMMAND");
	exit(1);
}
?>
