Linux - the Best!

Your Explorer by Linux links...

Денис Колисниченко

Linux Советы

http://www.dkws.org.ua/

Совет №26. Сверим часы

Как вы уже догадались, сейчас речь пойдет о синхронизации часов компьютера с сервером времени. Для синхронизации времени используется протокол NTP (Network Time Protocol). Принцип синхронизации заключается в следующем: NTP-клиент (программа ntpdate) подключается к серверу времени, получает от него "правильное" время и устанавливает системное время в соответствии со временем, полученному от сервера времени. Программу ntpdate можно скачать с сайта http://www.ntp.org/.

Для синхронизации времени выполните команду (от имени пользователя root):

# ntpdate <сервер_имен>

Список общедоступных серверов имен находится здесь: http://www.eecis.udel.edu/~mills/ntp/servers.html

Ясно, что вам не хочется каждый день вводить эту команду вручную. Поэтому для автоматической синхронизации времени поместите команду синхронизации в расписания. Например, для синхронизации времени в 7 утра каждого дня, кроме воскресенья, добавьте в /etc/crontab следующую запись

0 7 * * 1-6 ntpdate <сервер_имен>

Думаю, не нужно напоминать о том, что до выполнения этой команды должно быть установлено соединение с Интернетом. Если у вас коммутируемое соединение (т.е. обычное модемное), то в вашем дайлере (программа, которую вы используете для установки соединения с Интернетом) укажите, что команду ntpdate нужно запускать сразу после установки соединения.

Более универсальный способ - создать сценарий, вызывающий ntpdate, и поместить его в каталог /etc/ppp/ip-up.d, все файлы которого выполняются при установке соединения с Интернетом. Код сценария следующий:

#!/bin/sh

ntpdate сервер_времени > /dev/null 2>&1

Не забудьте сделать сценарий исполнимым:

# chmod +x time-sync (мы предполагаем, что этот сценарий называется именно так)