ClockWatch for Linux


How it Works
System Requirements
Software Installation
Software Removal
Sample NIST Session
For More Information


UNIX PCs have notoriously poor internal time keeping ability. It
is not uncommon for a PC to gain or lose 1-20 seconds per DAY.
For systems where the correct time is important, an automated process
that sets the system clock to a National time standard is highly desirable.

Beagle Software's ClockWatch program provides a means for automatically
resetting the internal Linux system clock to that of the
National Institute of Standards (NIST) time by synchronizing clocks
via 2400 baud modem. The software, when installed, provides for
hourly, daily or weekly automatic resetting of the system clock.

How it Works

  • Calls the NIST  with a custom Dialers script.

  • When the NIST answers, the NIST measures the round-trip transmission speed over the modem link.

  • The NIST sends the time in Greenwich Mean Time (GMT).

  • The program calculates the local time using the time zone environmental variable and resets the UNIX system clock.

System Requirements

Operating System: 

 Linux Red Hat 5.x or Caldera


 Modem with 2400 baud capability and Hayes Command set directly connected to native serial port or serial ports card.


To set the system clock from the command line:

  •  login as:  root
  •  type the command: /home/ClockWatch/ClockWatch

    This will initiate a call to the NIST and reset the system clock.

To run administration program:

  •  login as:  root
  •  type the command: cd/home/ClockWatch
  •  type the command: admin_menu

This will give a menu of administrative options:

     Main Menu

  1. Run ClockWatch program now
  2. Change tty port used
  3. Change outside line access code
  4. Change automatic call schedule
  5. Review log
  6. Exit


1.  Runs ClockWatch program now:

This issues the command to call the NIST and set the system clock. Call logs are printed to screen.

2. Change tty port used:

This presents the current configuration of the tty port specified in the /usr/lib/uucp/Devices file.  User can type in a new entry to replace existing entry.

3. Change outside line access code:

This presents the current entry of the dial string specified in the /usr/lib/uucp/Systems file.  User can type in a new entry to replace existing entry.

4. Change automatic call schedule:

This presents the current automatic process commands specified in the /usr/bin/crontab file.
 User can type in a new entry to replace existing entry.

5. Review log:

  This shows the call logs from the calls made to the NIST from the automatic call schedule.

6. Exit: Exits administration menu.

Software Installation

The installpkg places the program into the appropriate directory
and installs the entries in Devices, Dialers, Systems and crontab.
        - login as root
        - type "installpkg" from the command line
        - answer configuration questions for
                Port to use:
                        This asks for which tty port to use that is
                        connected to a modem. The installation program
                        lists the tty ports currently configured in the
                        /usr/lib/uucp/Devices file.
                        Examples include 'tty00', 'ttys01', ttys04'

                Outside line access:
                        The installer should enter the access code required
                        (if any) for the modem chosen above to dial a long
                        distance number. This is often a '9'.

                Whether to run automatically in crontab:
                        If the installer wishes to have the ClockWatch program
                        dial the NIST automatically, then the installer
                        should answer 'y' to this question. The ClockWatch
                        program will call the NIST out weekly at 2 AM Monday. 
                        The time or frequency can be changed from the  
                        administration menu.

                Call the NIST now?:
                        At the end of the installation program, the installer
                        can choose to place a test call to the NIST to insure
                        that all the settings and modem are properly configured.


To remove:
        - login in as: 
   - type from the command line:  removepkg


As an item of interest, a dump of data received from the NIST system clock
follows. This data includes the Julian date, the Greenwich Mean Time,
and the time in milliseconds that the communication takes to make the
trip from the NIST to the modem.

Sample Data from NIST:
         National Institute of Standards and Technology
         Telephone Time Service
          MJD  YR MO DA HH MM SS ST S UT1 msADV         <OTM>
         48662 92-02-10 01:32:32 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:33 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:34 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:35 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:36 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:37 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:38 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:39 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:40 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:41 00 0 -.2 045.0 UTC(NIST) *
         48662 92-02-10 01:32:42 00 0 -.2 045.0 UTC(NIST) *


/home/ClockWatch directory:
ClockWatch      The program used to call callNIST as a named
		  pipe and exit cu.
callNIST        The program called by ClockWatch to read the 
		  clock stream.
                This pgm cu's to NIST, reads time and sets the 
		  local UNIX time.
admin_menu      This is a shell that gives options for changing
		  port, access code, crontab schedule or viewing log.      This is a configurable shell program that sets time 
		  on other computers on a local network. 
                For this program to work you need a network where
		  the computer installed with the ClockWatch program 
		  is able to "rlogin" as root to the machines on the 
		  list specified in this program.
install/ sub directory:
Install         installpkg - shell for installation of ClockWatch 
		  on system.
Remove          removepkg - shell that removes ClockWatch from system.
Devices         Devices Entry - tty is set at installation.
Dialers         Dialers script - entry for Device, used by any 2400 
		baud modem.
Systems         the number of NIST - access code is set at 
crontab         Line for crontab - entry to run it at 2:00 AM 
		every Monday.


logs/ sub directory:
clock_log       Output of ClockWatch when run from crontab.


4th quarter '98.  Beta version will be available soon.


If you are interested in evaluating the Beta version, or desire additional information, please e-mail us or leave your request and E-mail address on the information request form.

top of page

ClockWatch Main Page

  | Search
Copyright 2007 Beagle Software. All rights reserved
Last reviewed March 19, 2008