Paso 3: Control de escritura
#Script para entrar en estado de garaje en DB
#Joe McManus 2010-01-26
#who correo debe ir a
$mailto = "joe
#who correo viene de
$mailfrom = "garagemon
#set el tiempo
$now = date ('Y-m-d H:i');
#web estado enlace
$garageurl="pink.example.com/garagemon-text.html";
#public url para incluir en la página para comprobar estado en línea
$puburl = "http://www.example.com/garage.php";
function connect(&$db) {}
$db = mysql_pconnect ("localhost", "garage", "monitor");
Si (mysql_select_db ("garagemon", $db)) {}
} else {}
echo "lo sentimos actualmente estamos aspectos técnicos de experiencias. Volveremos pronto. ";
salida;
}
}
Connect($dB);
#check la página
sistema ("curl $garageurl -o /tmp/garage.txt," $retval);
Si ($retval == 1) {}
echo "Error: no se puede alcanzar el servidor web";
salida;
}
#Get el estado de la puerta
$overhead = exec ('grep Overhead /tmp/garage.txt | cut -d ""-f2');
$side = exec ('grep lado /tmp/garage.txt | cut -d ""-f2');
#insert la puerta lateral en la dB
$insert = "Inserte condición (id, fecha, puerta, estado);"
$insertar. = "valores ('', now(), 'lado', '$side')";
$resultado = mysql_query ($insert, $db);
#insert la puerta basculante en la dB
$insert = "Inserte condición (id, fecha, puerta, estado);"
$insertar. = "valores ('', now(), 'arriba', '$overhead')";
$resultado = mysql_query ($insert, $db);
echo "arriba: $overhead";
echo "lado: $side";
#Query para las puertas están abiertas de 10 minutos o más.
$query =' Seleccione fecha, puerta, estado del estado donde estado = "Open" y fecha > date_sub(now(), intervalo de 10 minutos)';
$resultado = mysql_query ($query, $db);
$rowcount=mysql_num_rows($result);
$mailfile="/tmp/garagemail.txt";
Si ($rowcount > = 2) {}
echo "Alert: puerta abierta";
Inicio de mensaje
$mailsubject = "Aviso: garaje puerta abierta $now";
$mailmsg = "el Garage Monitor 3001 ha detectado que una puerta ha sido abierta por más de 10 minutos. $now ";
$mailmsg. = "$puburl";
{if(file_exists($mailfile))}
echo "Correo no se envía $mailfile existe";
} else {}
correo ($mailto, $mailsubject, $mailmsg);
exec ("/ bin/toque $mailfile");
}
} else {}
{if(file_exists($mailfile))}
echo "Alert: puerta de garaje cerrado $now";
$mailsubject = "Aviso: garaje puerta cerrada";
$mailmsg = "el Garage Monitor 3001 ha detectado que una puerta se ha cerrado. $now ";
$mailmsg. = "$puburl";
correo ($mailto, $mailsubject, $mailmsg);
exec ("/ bin/rm $mailfile");
}
}
#Just una consulta para la depuración
$query =' Seleccione fecha, puerta, estado del estado donde Fecha > date_sub(now(), intervalo de 10 minutos)';
$resultado = mysql_query ($query, $db);
echo "puerta | Estado de | fecha ";
{while($Row=mysql_fetch_row($Result))}
echo "$row [0] | $row [1] | $row [2] ";
}
? >