ClockWatch ServerMP can handle time
requests from Linux/UNIX clients.
ClockWatch ServerMP has been tested with
Linux version 2.4.x native NTP client (RedHat 8.x).
There is support for the TrueTime
TL-3 WWVB Receiver in the NTP
program which can run under Linux or Unix.
Beagle Software's Time Sync Products for Linux and
UNIX
Linux and Unix
drivers are also available to work with Beagle Software real-time
ClockCard.
UNIX and Linux, in
particular, are very picky about time discrepancies, and tend to do nasty things
to your processes and data if two machines disagree about the time. Here we
discuss the most popular method of acquiring an accurate measurement of time:
Using the LAN to
accomplish this synchronization - the de facto standard for this purpose
under UNIX is something called the Network Time Protocol, or NTP. Some
systems, particularly RedHat based systems, often come with ntp or xntp
pre-installed. Check the documentation and man pages for more information. If
you are using a Slackware-based machine, you will have a utility called
netdate that will serve the same function. You can initiate netdate
manually, through a script, or from a cron job. Check the man page for more
details. Either system will require you to specify the ClockWatch timeservers
from which accurate data can be obtained.
Examples:.
1) Calling netdate from crontab to synchronize
with ClockWatch Server and synchronize clock at boot up:
Crontab entry:
04 03 * * * /etc/rc.d/time.set > /dev/null
# cat /etc/rc.d/time.set
date
/usr/sbin/netdate -v <clockwatchserver>
/sbin/clock -w
Where <clockwatchserver> is the address
of the ClockWatch Server on the network.
2) Setting netdate in directly in crontab to
synchronize with ClockWatch Server
Crontab entry:
47 2 * * * /usr/local/sbin/netdate <clockwatchserver>
48 2 * * * * /sbin/clock -w
Where <clockwatchserver> is the address
of the ClockWatch Server on the network.
You should install netdate on your client machines, and have them
synchronize to your file server, not the atomic clock.
For some strange reason, netdate doesn't work
right when getting the time from another Linux machine unless you put tcp before
the address of the desired time server.
Some time programs hit the time server
constantly while trying to establish the exact time. This can fool inetd into
thinking that there is a problem with the service, and it cuts it off. If you
see syslog entries like this then you know that this is the problem:
Mar 11 00:14:53 noisy inetd[4642]: time/udp server failing (looping), service terminated
In order to solve this problem, modify the time entry in /etc/inetd.conf:
#
# Time service is used for clock synchronization.
#
time stream tcp nowait root /usr/sbin/tcpd in.timed
time dgram udp wait.200 root /usr/sbin/tcpd in.timed
The .200 tells inetd that the daemon can respawn up to 200 times in a minute
before it shuts it down (the default is 40). This inetd feature is not
documented on its man page, but it is mentioned in the comments at the
beginning of its source code.
Another related problem is that tcpd will log
each of the connects. This will very quickly fill your system log with messages
that you really don't care about. In order to prevent this from happening, edit
/etc/hosts.allow so that the messages are not logged, like this:
in.timed : <list of systems>
: severity debug
You should perhaps turn away other machines in
/etc/hosts.deny:
in.timed : ALL
|