first commit
This commit is contained in:
42
etc_org/dhcp/dhclient-exit-hooks.d/timesyncd
Normal file
42
etc_org/dhcp/dhclient-exit-hooks.d/timesyncd
Normal file
@ -0,0 +1,42 @@
|
||||
TIMESYNCD_CONF=/run/systemd/timesyncd.conf.d/01-dhclient.conf
|
||||
|
||||
timesyncd_servers_setup_remove() {
|
||||
if [ -e $TIMESYNCD_CONF ]; then
|
||||
rm -f $TIMESYNCD_CONF
|
||||
systemctl try-restart systemd-timesyncd.service || true
|
||||
fi
|
||||
}
|
||||
|
||||
timesyncd_servers_setup_add() {
|
||||
if [ ! -d /run/systemd/system ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -e $TIMESYNCD_CONF ] && [ "$new_ntp_servers" = "$old_ntp_servers" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -z "$new_ntp_servers" ]; then
|
||||
timesyncd_servers_setup_remove
|
||||
return
|
||||
fi
|
||||
|
||||
mkdir -p $(dirname $TIMESYNCD_CONF)
|
||||
cat <<EOF > ${TIMESYNCD_CONF}.new
|
||||
# NTP server entries received from DHCP server
|
||||
[Time]
|
||||
NTP=$new_ntp_servers
|
||||
EOF
|
||||
mv ${TIMESYNCD_CONF}.new ${TIMESYNCD_CONF}
|
||||
systemctl try-restart systemd-timesyncd.service || true
|
||||
}
|
||||
|
||||
|
||||
case $reason in
|
||||
BOUND|RENEW|REBIND|REBOOT)
|
||||
timesyncd_servers_setup_add
|
||||
;;
|
||||
EXPIRE|FAIL|RELEASE|STOP)
|
||||
timesyncd_servers_setup_remove
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user