ansible-ffibk/roles/service-ntpd/templates/ntpdate.j2

42 lines
1,013 B
Django/Jinja

#!/bin/sh
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# 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 ] || [ "$METHOD" = none ]; then
exit 0
fi
# only run on primary network interface
if [ "$IFACE" != {{ ansible_default_ipv4.interface }} ]; 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
# Avoid running more than one at a time
flock -n /run/lock/ntpdate /usr/sbin/ntpdate-debian -s $OPTS 2>/dev/null || :
) &