Garage Monitor 3001 personsökarsystem (3 / 5 steg)
Steg 3: Övervakning Script
#Script ange garage status i DB
#Joe McManus 2010/01/26
#who mail ska gå till
$mailto = "joe
#who mail kommer från
$mailfrom = "garagemon
#set tiden
$now = datum ("Y-m-d H:i");
#web status url
$garageurl="pink.example.com/garagemon-text.html";
#public url i sidan för att kontrollera status online
$puburl = "http://www.example.com/garage.php";
funktion connect(&$db) {
$db = mysql_pconnect ("localhost", "garage", "monitor");
om (mysql_select_db ("garagemon", $db)) {
} annat {
ECHO "ledsen vi är för närvarande upplevelser tekniska frågor. Vi ska vara tillbaka inom kort. ";
utresa.
}
}
Connect($dB);
#check sidan
system ("curl $garageurl -o /tmp/garage.txt", $retval);
om ($retval == 1) {
ECHO "fel: det går inte att nå webbserver";
utresa.
}
#Get dörr status
$overhead = exec ("grep Overhead /tmp/garage.txt | skära -d" "-f2');
$side = exec ("grep sida /tmp/garage.txt | skära -d" "-f2');
#insert sidoluckan i dB
$insert = "insert into status (id, datum, dörr, status)";
$Infoga. = "värden ('', now(),"side","$side")";
$result = mysql_query ($insert, $db);
#insert ovanför dörren i dB
$insert = "insert into status (id, datum, dörr, status)";
$Infoga. = "värden ('', now(),"overhead","$overhead")";
$result = mysql_query ($insert, $db);
ECHO "Overhead: $overhead";
ECHO "sida: $side";
#Query för dörrar att öppna 10 minuter eller mer.
$query = "Välj datum, dörr, status status där status ="Öppna"och datum > date_sub(now(), intervall 10 minuters)';
$result = mysql_query ($query, $db);
$rowcount=mysql_num_rows($result);
$mailfile="/tmp/garagemail.txt";
om ($rowcount > = 2) {
ECHO "Alert: dörr öppen";
Meddelande start
$mailsubject = "Varning: Garage dörren öppen $now";
$mailmsg = "the Garage Monitor 3001 har upptäckt att en dörr har varit öppna för mer än 10 minuter. $now ";
$mailmsg. = "$puburl";
IF(file_exists($mailfile)) {
ECHO "Post inte skickas $mailfile existerar";
} annat {
e-post ($mailto, $mailsubject, $mailmsg);
exec ("/ bin/touch $mailfile");
}
} annat {
IF(file_exists($mailfile)) {
ECHO "Alert: Garage dörren stängd $now";
$mailsubject = "Varning: Garage dörren stängd";
$mailmsg = "the Garage Monitor 3001 har upptäckt att en dörr har stängts. $now ";
$mailmsg. = "$puburl";
e-post ($mailto, $mailsubject, $mailmsg);
exec ("/ bin/rm $mailfile");
}
}
#Just en fråga för felsökning
$query = "Välj datum, dörr, status status där datum > date_sub(now(), intervall 10 minuters)';
$result = mysql_query ($query, $db);
ECHO "dörr | status | datum ";
While($Row=mysql_fetch_row($Result)) {
ECHO "$row [0] | $row [1] | $row [2] ";
}
? >