Созать файл и сделать исполняемым /etc/init.d/timeupdate:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash function timeupdate { ping -c 1 192.168.1.30 > /dev/null if [ $? -eq 0 ]; then systemctl stop ntp ntpdate -q 192.168.1.30 systemctl start ntp else ping -c 1 192.168.1.31 > /dev/null if [ $? -eq 0 ]; then systemctl stop ntp ntpdate -q 192.168.1.31 systemctl start ntp else echo "wait 5sec" sleep 5 timeupdate fi fi } timeupdate |
chmod +x /etc/init.d/timeupdate
Создать ежедневное задание крон в 0 часов:
sudo crontab -e
1 |
0 0 * * * /etc/init.d/timeupdate |
Если пингуется первый хост, время обновится с него, иначе, если пингуется второй хост, обновить со второго, иначе перезапустить скрипт через 5 сек.
Перед и после обновления времени выключается и включается служба ntp.