You could setup a monitoring service such as Nagios.

You would still be relying on ping response to tell if they are up or not (unless you had an alternate way of checking such as an SNMP request to the VPN server/router).

However, you wouldn't be running it by hand, it would be automated and would give you a record of when the pings failed and when they were successful.

If they are supposed to be connected all day 9-5, you could also setup notifications to only email you during 9-5 if they are disconnected, so you wouldn't have to watch it, but just be alerted if someone loses connection.

EDIT:
As an easier way to configure your various hosts, services, dependencies, etc in nagios check out NConf. I had been managing a nagios server monitoring a good 50+ hosts modifying all the files via command line then switched to using NConf when deploying a new nagios server. You get a lot of power and options with NConf without really losing anything from the command line access.


If I remmeber right, when using the vpn software TINC it allowed the user to run a bash file when the connection went up and down, which would allow you to write to a text file/database in bash, what software are you using for the vpn and have you looked into this method?