Update date init script to use uppercase vars

This commit is contained in:
Calin Crisan 2019-01-27 15:27:42 +02:00
parent 2fe50addcf
commit 32dac0958f
2 changed files with 26 additions and 24 deletions

View File

@ -1,6 +1,6 @@
date_timeout=10
date_method=http
date_host="google.com"
date_interval=900
date_ntp_server=""
DATE_TIMEOUT=10
DATE_METHOD=http
DATE_HOST="google.com"
DATE_INTERVAL=900
DATE_NTP_SERVER=""

View File

@ -1,7 +1,8 @@
#!/bin/bash
# Date executable points to /bin/busybox\ date explicitly in the cases that date binary gets overwritten
DATE_PROG=/bin/busybox\ date
PROG_DATE="/bin/date"
PROG_NTPD="/usr/sbin/ntpd"
PROG_NTPDATE="/usr/sbin/ntpdate"
SYS_CONF="/etc/date.conf"
BOOT_CONF="/boot/date.conf"
@ -21,33 +22,34 @@ test -f ${CONF} || exit 0
test "${OS_NETWORKLESS}" == "true" && exit 0
date_timeout=10
date_method=http
date_host="google.com"
date_interval="900"
DATE_TIMEOUT=10
DATE_METHOD=http
DATE_HOST="google.com"
DATE_INTERVAL="900"
DATE_NTP_SERVER=""
source ${CONF}
set_current_date_http() {
date_str=$(curl -v -s -m ${date_timeout} -X GET http://${date_host} 2>&1 | grep Date | sed -e 's/< Date: //')
date_str=$(curl -v -s -m ${DATE_TIMEOUT} -X GET http://${DATE_HOST} 2>&1 | grep Date | sed -e 's/< Date: //')
test -z "${date_str}" && return 1
${DATE_PROG} -u -D "%a, %d %b %Y %H:%M:%S" -s "${date_str}" > /dev/null
${PROG_DATE} -u -D "%a, %d %b %Y %H:%M:%S" -s "${date_str}" > /dev/null
return $?
}
set_current_date_ntp() {
cat ${NTP_CONF} | grep server | head -n 1 | cut -d ' ' -f 2 | xargs ntpdate -t ${date_timeout} -s
cat ${NTP_CONF} | grep server | head -n 1 | cut -d ' ' -f 2 | xargs ${PROG_NTPDATE} -t ${DATE_TIMEOUT} -s
}
start_http() {
msg_begin "Setting current date using http"
set_current_date_http || set_current_date_http
test $? == 0 && msg_done "$(${DATE_PROG})" || msg_fail
test $? == 0 && msg_done "$(${PROG_DATE})" || msg_fail
msg_begin "Starting http date updater"
while true; do
sleep ${date_interval}
sleep ${DATE_INTERVAL}
set_current_date_http
done &
msg_done
@ -58,8 +60,8 @@ start_ntp() {
cat ${NTP_CONF} | grep -v iburst > ${NTP_CONF}.tmp
if [[ -n "${date_ntp_server}" ]]; then
echo "server ${date_ntp_server} iburst" > ${NTP_CONF}
if [[ -n "${DATE_NTP_SERVER}" ]]; then
echo "server ${DATE_NTP_SERVER} iburst" > ${NTP_CONF}
else
cat ${SYS_NTP_CONF} | grep iburst > ${NTP_CONF}
fi
@ -69,10 +71,10 @@ start_ntp() {
msg_begin "Setting current date using ntp"
set_current_date_ntp || set_current_date_ntp
test $? == 0 && msg_done "$(${DATE_PROG})" || msg_fail
test $? == 0 && msg_done "$(${PROG_DATE})" || msg_fail
msg_begin "Starting ntpd"
ntpd -g -c ${NTP_CONF}
${PROG_NTPD} -g -c ${NTP_CONF}
test $? == 0 && msg_done || msg_fail
}
@ -84,22 +86,22 @@ stop_http() {
stop_ntp() {
msg_begin "Stopping ntpd"
killall ntpd &>/dev/null
killall -q $(basename ${PROG_NTPD})
test $? == 0 && msg_done || msg_fail
}
start() {
if [[ "${date_method}" == "http" ]]; then
if [[ "${DATE_METHOD}" == "http" ]]; then
start_http
else
start_ntp
fi
echo "system date is $(${DATE_PROG} '+%Y-%m-%d %H:%M:%S')" > /dev/kmsg
echo "system date is $(${PROG_DATE} '+%Y-%m-%d %H:%M:%S')" > /dev/kmsg
}
stop() {
if [[ "${date_method}" == "http" ]]; then
if [[ "${DATE_METHOD}" == "http" ]]; then
stop_http
else
stop_ntp