UC-7400-LX Plus User’s Manual
Managing Embedded Linux
3-10
NTP Client
The UC-7400-LX Plus has a built-in NTP (Network Time Protocol) client that is used to initialize
a time request to a remote NTP server. Use
#ntpdate <this client utility>
to update the system
time.
#ntpdate time.stdtime.gov.tw
#hwclock –w
root@Moxa:~# date ; hwclock
Sat Jan 1 00:00:36 CST 2000
Sat Jan 1 00:00:37 2000 -0.772941 seconds
root@Moxa:~# ntpdate time.stdtime.gov.tw
9 Dec 10:58:53 ntpdate[207]: step time server 220.130.158.52 offset 155905087.984256
sec
root@Moxa:~# hwclock –w
root@Moxa:~# date ; hwclock
Thu Dec 9 10:59:11 CST 2004
Thu Dec 9 10:59:12 2004 -0.844076 seconds
root@Moxa:~#
NOTE
Before using the NTP client utility, check your IP and DNS settings to make sure that an Internet
connection is available. Refer to Chapter 2 for instructions on how to configure the Ethernet
interface, and see Chapter 4 for DNS configuration information.
Updating the Time Automatically
In this subsection, we show how to use a shell script to update the time automatically.
Example shell script to update the system time periodically
#!/bin/sh
ntpdate time.nist.gov # You can use the time server’s ip address or domain
# name directly. If you use domain name, you must
# enable the domain client on the system by updating
#
/etc/resolv.conf
file.
hwclock –systohc
sleep 100
# Updates every 100 seconds. The min. time is 100 seconds. Change
# 100 to a larger number to update RTC less often.
Save the shell script using any file name (e.g.,
fixtime
).
How to run the shell script automatically when the kernel boots up
Copy the example shell script
fixtime
to directory
/etc/init.d
, and then use
chmod 755 fixtime
to
change the shell script mode. Next, use vi editor to edit the file
/etc/inittab
. Add the following line
to the bottom of the file:
ntp : 2345 : respawn : /etc/init.d/fixtime
Use the command
#init q
to re-init the kernel.