我有树莓派和树莓派。我想在时间与 ntpd 同步后立即执行一个脚本,我的脚本需要正确的日期时间。我怎样才能做到这一点?
问问题
2710 次
2 回答
3
正确的方法是使用ntp-wait
. ntp-wait
是为这种情况量身定做的。这是手册页:
ntp-wait(1) User Commands ntp-wait(1)
NAME
ntp-wait - Wait for ntpd to stabilize the system clock
SYNOPSIS
ntp-wait [-flag [value]]... [--opt-name [[=| ]value]]...
All arguments must be options.
DESCRIPTION
will send at most num-tries queries to sleeping for secs-between-
tries after each status return that says has not yet produced a syn‐
chronized and stable system clock.
will do this quietly, unless the v flag is provided.
OPTIONS
-n num-tries, --=num-tries
Number of times to check ntpd. This option takes an integer
number as its argument. The default num-tries for this option
is:
100
The maximum number of times we will check ntpd to see if it
has been able to synchronize and stabilize the system clock.
-s secs-between-tries, --=secs-between-tries
How long to sleep between tries. This option takes an integer
number as its argument. The default secs-between-tries for
this option is:
6
We will sleep for @file{secs-between-tries} after each query
of ntpd that returns "the time is not yet stable".
-v, -- Be verbose.
By default, ntp-wait is silent. With this option, ntp-wait
will provide status information.
-?, --help
Display usage information and exit.
-!, --more-help
Pass the extended usage information through a pager.
- [{v|c|n}], --version[={v|c|n}]
Output version of program and exit. The default mode is `v',
a simple version. The `c' mode will print copyright informa‐
tion and `n' will print the full copyright notice.
EXIT STATUS
One of the following exit values will be returned:
0 Successful program execution.
1 The operation failed or the command syntax was not valid.
于 2015-01-22T21:04:45.770 回答
2
假设您有一个有权调用 ntpdate 的用户(换句话说,谁可以调整系统的时间),您可以使用以下脚本,我在下面的示例中使用 ntp 服务器“0.ca.pool.ntp .org"
#!/bin/bash
NEEDS_SYNC=1
while [ "$NEEDS_SYNC" -ne "0" ]; do
ntpdate -t 4 0.ca.pool.ntp.org
NEEDS_SYNC=$? # If this variable is set ot 0, time sync worked
sleep 2
done
# RUN THE SCRIPT THT NEEDS ntp SYNC'D TIME HERE
请注意,您可能需要安装软件包“ntpdate”才能使其正常工作。
于 2015-01-22T04:49:31.833 回答