PreviousNext

dtsdate(8dts)

Sets local clock from a remote dtsd server host

Synopsis

dtsdate [-q] [-s] [-u] remote_host [nsecs]

Options

-q
Queries the difference in time between the local host and the remote host, but does not change the local clock. The returned result (2 if the time would have been reset, 1 if there was an error, and 0 otherwise) can be used by a script to determine what action to take.

-s
Causes dtsdate to work silently, without showing the time.

-u
Shows the time in UTC, rather than in the current time zone.

Arguments

remote_host
The name or the IP address of a remote host that has a dtsd server.

nsecs
An integer giving the number of seconds by which the remote and local host times can differ, without the local host's clock being reset. If nsecs is 0, or if it is not specified, it is treated as if it were extremely large, and no resetting occurs.

Description
The dtsdate command sets the local clock of a system to be the same as the host remote_host, running a dtsd server. The purpose of dtsdate is to ensure that clock skew is minimized at initial cell configuration or at host instantiation, because it is difficult to start DCE and its components if the skew is too great.

To prevent failure of CDS and of security, clocks among all DCE components must be within five minutes of each other. Some DCE components have even more stringent requirements. For instance, a DFS file server cannot start if its local host differs from other DFS hosts by more than ten seconds.

You can use the dtsdate command to adjust a clock backwards, before DCE is running on a host. Adjusting a clock backwards while DCE is running can cause many difficulties because security and file system software generally require system time to increase monotonically.

Notes
The remote host must be running as a DTS server. This means that the dtsd on that system must have registered the DTS management interface, because dtsdate uses the management call to get the current time from that host.

For dtsdate to be able to set the clock, it must run as a privileged user (root).

Exit Value
If the -q argument is given, dtsdate returns 2 if the remote time and local time differ by more than nsecs, 1 if there was an error, and 0 otherwise.

If the -q argument is not given, dtsdate returns 1 if there was an error, and 0 otherwise.

Examples

1. In the following example, dtsdate (with only the remotehost argument) prints out the time on the remote host.

dtsdate remotehost

2. In the following example, dtsdate does not print out the remote host's time. If the times differ by more than 10 seconds, it returns the value of 1, otherwise 0.

dtsdate -s -q remotehost 10

3. In the following example, dtsdate sets the clock if it differed from the remote clock by more than 10 seconds. It does this work silently, because of the -s option.

dtsdate -s remotehost 10

4. The following example shows a shell script that uses the return value of dtsdate:

dtsdate -s -q remhost 10
result = $?
if [ $result -eq 0 ] ; then
echo "Time is within tolerance."
elif [ $result -eq 1 ] ; then
echo "Could not contact remote host." >&2
else # result = 2
if dtsdate remhost 10; then # it failed!
echo "Could not set the clock." >&2
fi
fi

Related Information
Command: dtsd(8dts)