include("config.inc.php");
function exec_on_client($serial, $ip, $cmd, $failure=1, $verbose=0)
{
global $pingcmd;
global $sshcmd;
$pubkey = mysql_query('select public_key from ssh_auth_clients where serial='.$serial.'');
while ($row = mysql_fetch_row ($pubkey))
{
# write known hosts
$hostfile = fopen ($home."/.ssh/known_hosts","w");
fwrite($hostfile,$ip." ".$row[0],strlen($row[0])+strlen($ip)+1);
fclose($hostfile);
# check if the client is online
passthru($pingcmd.' '.$ip.' &> /dev/null && exit 0 || exit 1', $retval);
if ($retval == 0)
{
if ($verbose == 1) echo "sshcmd: '".$sshcmd."'
";
# exec the cmd
exec($sshcmd.' '.$ip.' "source /etc/profile;'.$cmd.'"', $cmdout, $err);
if ($verbose == 1)
{
echo "err: '".$err."'
";
foreach( $cmdout as $i )
{
echo "cmdout: '".$i."'
";
}
}
if($err != 0) if ($failure == 1) echo '';
else if ($verbose == 1) echo '';
}
else if ($failure == 1) echo '';
}
# return the output of $cmd
return $cmdout;
}
?>