2017-02-13 13 views
-1

У меня есть сценарий, который изменяет время сервера UNIX, изменяя его с текущего правильного времени, в котором он установлен, в другое время. Как только я изменил его, id хотел бы установить его обратно в текущее время в UTC, что правильно, синхронизируя его с миром снова.Получение общепринятой даты в сценарии bash

Есть ли команда, которая может это сделать? Все, что я знаю и вижу, это обычные команды поиска даты, но ничего не требуется для получения даты, которая известна во всем мире как «правильная».

+0

Я предлагаю записывать как текущее время на сервере, так и текущее время от внешнего источника, принимая разницу и сохраняя как текущее время на сервере, так и разницу, а затем изменяя время на сервере, но вы например, затем получить новое значение из внешнего источника, принять разницу, которую вы обнаружили ранее, и применить его к новому внешнему времени и использовать результат для обновления времени на сервере. –

+2

Google "NTP". Он уже заботится обо всех деталях, необходимых для точной синхронизации ваших часов с внешними часами. – chepner

+0

Я попытался использовать NTP, но он, похоже, не устанавливает время сервера. У меня есть сервер ntpd, работающий, проверяя с помощью 'service ntpd status', но когда я запускаю команду' ntpdate -s europe.pool.ntp.org', это не изменяет время сервера. – user3190153

ответ

0

Как я пытался решить свои проблемы с настройкой NTP, и не смог сделать это после следующих уроков. Я выбрал использование следующей строки для извлечения глобального времени.

date -s $(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z