MyTetra Share
Делитесь знаниями!
Изменение timezone (часового пояса) в Linux и настройка синхронизации времени (ntpdate)
Время создания: 07.06.2018 12:58
Раздел: Компьютер - Linux - Bash - Установка времени в Linux
Запись: xintrea/mytetra_syncro/master/base/15283654923qb9cuxqn0/text.html на raw.github.com

Достаточно часто (если не сказать, что всегда) при настройке нового сервера необходимо настроить синхронизацию времени и выставить правильный часовой пояс. В Linux это совсем не сложно и очень быстро. Я не буду описывать как это делается с помощью графических утилит, так как на серверах их нет по определению, а вот терминал есть везде, где есть Linux.

Шаг первый:
Проверяем текущие дату и время.
# date
Пнд Янв 9 09:50:25 CET 2012

CET - и есть наш текущий часовой пояс, установленный в системе. Так как мне, например, необходимо время московское, то мы и будем устанавливать московское время.
Список всех доступных часовых поясов можно найти в каталоге /usr/share/zoneinfo.
# ls /usr/share/zoneinfo

Шаг второй:
Создаём резервную копию файла текущих настроек.
Этот шаг, в принципе, можно пропустить, но меня будет мучать совесть, если Вы этого не сделаете.
# sudo mv /etc/localtime /etc/localtime-backup

Шаг третий:
Создаем символическую ссылку на необходимый нам timezone:
# sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Хочется предостеречь от достаточно частой ошибки, ни в коем случае нельзя просто скопировать этот файл, так как если Вы его скопируете с помощью команды cp, то любое обновление данной timezone пройдёт для Вас незамеченным. А я думаю все помнят изменения с переводом времени в 2011 году?

Шаг четвёртый:
Дублируем значение параметра ZONE в файле /etc/sysconfig/clock и устанавливаем его равным "Europe/Moscow".
# sudo vi /etc/sysconfig/clock

В принципе, для подавляющего большинства современных дистрибутивов Linux на этих, достаточно простых шагах, можно и остановиться, так как самая главная и наиболее часто встречающаяся задача нами выполнена. Но мы пойдём дальше и попробуем разобраться с системными часами и синхронизацией времени.

Шаг пятый:
Установка аппаратных часов.
Для установки аппаратных часов существуют две команды: setclock и hwclock.
setclock - это высокоуровневая версия hwclock, которая не требует никаких параметров для запуска. Она сама выбирает какие параметры передать hwclock на основании сделанных нами выше настроек операционной системы.
# setclock
Использование setclock предпочтительнее, однако не во всех системах она установлена. Увы...

hwclock - устанавливает параметры аппаратных часов на основании переданных ему данных.
Использование:
Считываем системное время:
# sudo hwclock
Пнд 09 Янв 2012 14:09:46 -0.239259 секунд

Устанавливаем время аппаратных часов равное системному:
sudo hwclock --systohc
Устанавливаем время аппаратных часов равное UTC, но на основании системного времени:
sudo hwclock --systohc --utc
И устанавливаем время равное указанному:
sudo hwclock --set --date "09 Jan 2012 14:11"

Шаг шестой:
Установка пакета ntpdate, если он не установлен, конечно.
# sudo yum install ntpdate

Шаг седьмой:
Ручная синхронизация времени.
# sudo ntpdate pool.ntp.org
9 Jan 14:21:47 ntpdate[2063]: adjust time server 178.63.64.14 offset 0.000866 sec

Список достаточно большого количества ntp серверов можно найти по следующей ссылке
The Public NTP Time Server Lists .
Отредактировать список серверов или же добавить свой можно в файле конфигурации ntpd: /etc/ntp.conf.
server pool.ntp.org prefer
server another.ntp.server

# sudo vi /etc/ntp.conf

Шаг восьмой:
Настройка автоматической синхронизации времени.
Для автоматической синхронизации времени достаточно всего лишь запустить демон ntpd.
# sudo service ntpd start

А для того, чтобы демон стартовал при перезагрузке сервера, необходимо выполнить следующую команду:
# sudo chkconfig --level 2345 ntpd on

Шаг девятый, необязательный:
Наблюдение за синхронизацией.
# ntpq -p

 
MyTetra Share v.0.64
Яндекс индекс цитирования