Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
 
Using the internet to remotely check for power failure at home (PHP)

Do you have freezers and other electrical equipment at home and worry about whether they'll be all right while you're away on holiday? Do you have a broadband connection with a rarely changing IP address, and a web site that you host with a web space provider? Then you'll be able to set up a "heartbeat" script to check out your home systems. We're doing this to keep an eye on Well House Manor, where we have two separate power feeds and want to be alerted if either of them trips.

Sample Scheme (what we have done - there are lots of alternatives at some stages):

a) Set up your home modem / router to point to a local machine that's permanently running, and is running Apache httpd and PHP. We have a Mac mini that fulfils this role. On this machine write a very simple web page that returns a status, such as:

<?php print(`uptime`); ?>

b) Set up a script of your main web site (remote from home) that runs this script, analyses the results, and emails you if there's a problem. We have a sample of such a script here ... ours is slightly more sophisticated in that is also looks at the server loading and reports back if there are overloading issues too

c) Set up a regular timed (crontab) job on your web site to run the 'heartbeat' script at an appropriate frequency. We have the following line in our 'crontab' file:

9,24,39,54 * * * * /usr/local/bin/php /home/welho/private/zzppxping.php


Here is my slightly longer explanation of the various things this script will catch, taken from the comments I have added so that I can remember what I did when I come to look at the script in the future ...

/* Heartbeat script - to run regularly on crontab and gather server
status from Well House Manor. This script runs on a remote server and
will email us if:
a) The Router at Well House Manor is not responding
  e.g. changed IP, power failure
b) The Manor Web server is down
  e.g. switched off / disconnected / has no power
c) Software issue on web server
  i.e. the httpd daemon is not running or is overloaded */


I should now write an equal and opposite script that has our local server checking that the web space provide system is live and responding ;-)


(written 2009-04-29, updated 2009-04-30)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A164 - Web Application Deployment - Services and Regular Jobs
  [4487] Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it. - (2015-05-06)
  [3792] Managing daemons from a terminal session - (2012-07-01)
  [3791] The Kernel, Shells and Daemons. Greek Gods in computing - (2012-07-01)
  [3143] On time - (2011-01-23)
  [3011] What are .pid files? - (2010-10-23)
  [2182] What Linux run level am I in? - (2009-05-15)
  [1903] daemons - what is running on my Linux server? - (2008-11-23)
  [1765] Dialects of English and Unix - (2008-08-21)
  [1733] memcached - overview, installation, example of use in PHP - (2008-08-02)
  [1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
  [1700] FTP server on Fedora Linux - (2008-07-06)
  [1633] Changing a screen saver from a web page (PHP, Perl, OSX) - (2008-05-06)
  [1553] Automatic startup and shutdown of Tomcat - (2008-02-24)
  [1288] Linux run states, shell special commands, and directory structures - (2007-08-03)
  [1028] Linux / Unix - process priority and nice - (2007-01-10)
  [907] Browser -> httpd -> Tomcat -> MySQL. Restarting. - (2006-10-28)
  [544] Repeating tasks with crontab - (2005-12-27)

A166 - Web Application Deployment - Linux Utilities
  [4682] One line scripts - Awk, Perl and Ruby - (2016-05-20)
  [4586] Extending your bash shell with aliases, functions and extra commands - (2015-11-28)
  [3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when? - (2012-10-22)
  [3764] Shell, Awk, Perl of Python? - (2012-06-14)
  [3446] Awk v Perl - (2011-09-18)
  [2638] Finding what has changed - Linux / Unix - (2010-02-17)
  [2484] Finding text and what surrounds it - contextual grep - (2009-10-30)
  [2320] Helping new arrivals find out about source code examples - (2009-08-03)
  [1690] Conversion of c/r line ends to l/f line ends - (2008-06-28)
  [1366] awk - a powerful data extraction and manipulation tool - (2007-09-25)
  [1361] Korn shell course - (2007-09-22)
  [71] Comparators in Linux and Unix - (2004-10-03)
  [63] Almost like old times - (2004-09-26)

G996 - Well House Consultants - Newsletter Scripts
  [3179] Oops - I typed ci not vi, and have lost my file ... - (2011-02-21)
  [2539] Changing Images - (2009-12-17)
  [2433] Controlling, supressing, enabling PHP error messages - (2009-10-02)
  [2360] Error Handling in Lua with assert and pcall - (2009-08-13)
  [2259] Grouping rows for a summary report - MySQL and PHP - (2009-06-27)
  [2046] Finding variations on a surname - (2009-02-17)
  [1954] mod_rewrite for newcomers - (2008-12-20)
  [1813] Ajax - going Asyncronous and what it means - (2008-09-28)
  [1743] First class functions in Lua lead to powerful OO facilities - (2008-08-07)
  [1665] Factory method example - Perl - (2008-06-04)
  [1601] Replacing the last comma with an and - (2008-04-04)
  [1505] Script to present commonly used images - PHP - (2008-01-13)
  [1487] Efficient PHP applications - framework and example - (2007-12-28)
  [1387] Error logging to file not browser in PHP - (2007-10-11)
  [1321] Resetting session based tests in PHP - (2007-08-26)
  [1217] What are factory and singleton classes? - (2007-06-04)
  [1123] mysqldump and mysqlrestore - (2007-03-30)
  [1066] Final, Finally and Finalize - three special words in Java - (2007-02-05)
  [1001] .pdf files - upload via PHP, store in MySQL, retrieve - (2006-12-19)


Back to
Looking for a career change - Physician to Web Site Designer
Previous and next
or
Horse's mouth home
Forward to
An evening excursion to Devizes and Avebury
Some other Articles
Routing Network Traffic - Proxies, Redirects and DNS
Variable scope in Java Servlets and other web applications
A very easy JSP (Java Server Page)
An evening excursion to Devizes and Avebury
Using the internet to remotely check for power failure at home (PHP)
Looking for a career change - Physician to Web Site Designer
Throughout the year, around the world
Riverside Development
Town Crier competiton
Beware - giving copyright away when you upload a picture - Dogs Trust
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2145_Usi ... -PHP-.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat