Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

executable file 61 lines (48 sloc) 1.372 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
. /etc/webc/functions.sh
. /etc/webc/webc.conf

if cmdline_has timezone; then
cmdline_get timezone > /etc/timezone
fi

# This is a heuristic: The idea is that if a static interface is brought
# up, that is a major event, and we can put in some extra effort to fix
# the system time. Feel free to change this, especially if you regularly
# bring up new network interfaces.
if [ "$METHOD" = static ]; then
OPTS="-b"
fi

if [ "$METHOD" = loopback ]; then
exit 0
fi

# Check whether ntpdate was removed but not purged; it's useless to wait for
# it in that case.
if [ ! -x /usr/sbin/ntpdate-debian ] && [ -d /usr/sbin ]; then
exit 0
fi


# This is for the case that /usr will be mounted later.
if [ -r /lib/udev/hotplug.functions ]; then
. /lib/udev/hotplug.functions
wait_for_file /usr/sbin/ntpdate-debian
fi

LOCKFILE=/var/lock/ntpdate

# Avoid running more than one at a time
if [ -x /usr/bin/lockfile-create ]; then
lockfile-create $LOCKFILE
lockfile-touch $LOCKFILE &
LOCKTOUCHPID="$!"
fi

while true; do
ping -c 1 pool.ntp.org 2>&1 >/dev/null
test $? = 2 && { sleep 1; continue; }
break
done

logs "running ntpdate"
/usr/sbin/ntpdate-debian -s $OPTS

if [ -x /usr/bin/lockfile-create ] ; then
kill $LOCKTOUCHPID
lockfile-remove $LOCKFILE
fi

for d in cron rsyslog; do
systemctl restart ${d}.service
done
Something went wrong with that request. Please try again.