Для синхронизации времени используется специальная служба NTP (Network Time Protocol). Установим на компьютер с Ubuntu/Debian сервер времени.
Он будет получать данные от эталонных серверов и затем мы сможем по нему синхронизировать время на компьютерах в локальной сети.
Установка
apt-get install ntp
Ставим в автозагрузку и запускаем
systemctl enable ntp || update-rc.d ntp defaults systemctl start ntp || service ntp start
Далее нужно отредактировать конфигурационный файл
nano /etc/ntp.conf
Укажем серверы с которых будем брать эталонное время
pool ru.pool.ntp.org iburst pool 0.ubuntu.pool.ntp.org iburst pool 1.ubuntu.pool.ntp.org iburst
Можно указать предпочитаемый сервер точного времени
server 0.ubuntu.pool.ntp.org iburst prefer
Если по какой-то причине пропал доступ в интернет разрешим синхронизировать время по своим системным часам
server 127.127.1.0
В случае доступности снаружи наш ntp-сервер можно использовать для DDOS-атак. Поэтому установим запрет на использование внешними клиентами
restrict −4 default kod notrap nomodify nopeer noquery restrict −6 default kod notrap nomodify nopeer noquery
Разрешим пользоваться им компьютерам локальной сети
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 127.127.1.0
Перезапустим наш сервер NTP
service ntp restart
Если задачи синхронизировать время на другие компьютеры не стоит, или по какой-то причине, нет возможности установить NTP-сервер, можно выйти из положения периодическим запуском на сервере следующей команды:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"