diff options
Diffstat (limited to 'scripts/ntpd-set.sh')
-rwxr-xr-x | scripts/ntpd-set.sh | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/scripts/ntpd-set.sh b/scripts/ntpd-set.sh index 3581d2421..d6fd8f25b 100755 --- a/scripts/ntpd-set.sh +++ b/scripts/ntpd-set.sh @@ -1,30 +1,25 @@ #!/bin/sh max_attempts=4 -try_count=0 # This script takes a list of ntp servers and passes them to ntpd to set the # system time. If a /etc/ntpd.conf file exists, the servers there are used, # if not, some default values are passed set_time() { - ntpd -n -p $1; - return $? + # -q flag makes ntpd exit after setting the time once + ntpd -q -n -p "$1" } check_time() { - for arg ; do - echo $arg - if set_time $arg ; then - return 0 - fi - done - # In case we are doing this before the network is up, try again - let try_count=try_count+1 - if [ $try_count -lt $max_attempts ] ; then + for attempt in $(seq "$max_attempts"); do + for arg ; do + echo $arg + if set_time "$arg" ; then + return 0 + fi + done sleep 2 - check_time $@ - else - return 1 - fi + done + return 1 } if [ -f /etc/ntpd.conf ]; then |