[fix] Sync the date with http if ntp can't (#37)
* [fix] Sync the date with http if ntp can't
This commit is contained in:
@@ -204,6 +204,20 @@ stop_openvpn() {
|
||||
sync_time() {
|
||||
systemctl stop ntp
|
||||
timeout 20 ntpd -qg &> /dev/null
|
||||
|
||||
# Some networks drop ntp port (udp 123).
|
||||
# Try to get the date with an http request on the internetcube web site
|
||||
if [ $? -ne 0 ]; then
|
||||
http_date=`curl -sD - labriqueinter.net | grep '^Date:' | cut -d' ' -f3-6`
|
||||
http_date_seconds=`date -d "${http_date}" +%s`
|
||||
curr_date_seconds=`date +%s`
|
||||
|
||||
# Set the new date if it's greater than the current date
|
||||
# So it does if 1970 year or if old fake-hwclock date is used
|
||||
if [ $http_date_seconds -ge $curr_date_seconds ]; then
|
||||
date -s "${http_date}"
|
||||
fi
|
||||
fi
|
||||
systemctl start ntp
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user