Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

The Clock Mini-HOWTO
Пред.След.

Подробная инструкция к clock(8)

Эта глава сделана на основе предыдущей версии мини-HOWTO и предназначена для тех, кто использует clock(8). Все, что вам надо знать, находится в инструкции.

Замечание

Вы должны зайти в систему в качестве пользователя root для того, чтобы запустить "clock", или другую программу, затрагивающую системное время или ЧРВ.

Проверка настроек

Проверьте ваши загрузочные файлы на наличие команд типа "clock -a" или "clock -ua". В зависимости от дистрибутива, они могут находиться в /etc/rc.local, или /etc/rc.d/rc.sysinit или где-нибудь рядом.

Если в строке написано "clock -s" или "clock -us", смените "s" на "a", и посмотрите, есть ли у вас файл /etc/adjtime, который содержит строку типа:

0.000000 842214901 0.000000

Эти числа являются величиной коррекции (в секундах за день), время, когда была произведена последняя коррекция (в секундах с 1 января, 1970), и часть секунды, которая была округлена последний раз. Если у вас нет этого файла, зайдите как пользователь root и создайте его. В нем должна быть лишь одна строка, содержащая нули:

0.0 0 0.0

Затем запустите "clock -a" или "clock -ua" вручную из командной строки для того, чтобы установить 2-ое число (используйте "u", если ваши часы показывают универсальное время, вместо местного).

Измерение величины коррекции

Для начала вам надо узнать, который час :-). Мой любимый способ - позвонить на WWV по телефону (303)499-7111 (это дорого). Если у вас есть доступ к серверу точного времени, вы можете воспользоваться программой ntpdate, входящей в приложение xntpd (поставьте флажок -b для того, чтобы ядро не сверяло системное время с ЧРВ). Иначе используйте "date -s hh:mm:ss" для установки времени вручную, а затем выполните "clock -w" для того, чтобы синхронизировать ЧРВ с системными часами. Вам потребуется знать, когда вы последний раз устанавливали время на часах, поэтому запишите эту информацию туда, где вы ее не потеряете. Если вы используете ntpdate, напишите "date +%s" и запишите число секунд, прошедших с 1 января 1970 года.

Затем зайдите в систему несколько дней спустя и посмотрите на сколько отклонились ваши часы. Если вы устанавливаете часы вручную, я бы посоветовал подождать две недели и высчитать отклонение в сек/день. После нескольких месяцев высчитайте отклонение в долях секунд за день. Если вы используете ntpdate, то вам придется долго ждать. Но позже можно их точно настроить.

Активируйте синхронизацию "clock -a" через некоторые промежутки времени для того, чтобы время на системных часах и ЧРВ не различалось. Эта команда также будет выполнятся каждый раз при запуске системы. Если вы делаете это часто, то этого будет достаточно для синхронности.

Помните, что в некоторых программах может произойти сбой, если коррекция часов произойдет более, чем на секунду, или, если время будет скорректировано назад. Если возникли подобные проблемы, то используйте xntpd или ntpdate для более плавной корректировки.

Пример


Как установить время

Зайдите как пользователь root. Наберите (303)499-7111 (голос), прослушайте сигналы. Затем напишите:

date -s hh:mm:ss
но не нажимайте Enter, пока не услышите сигнала. (вы можете воспользоваться "ntpdate", вместо "date", и не звонить в этом случае) Эта команда устанавливает системное время. Затем напишите:
clock -w
Эта команда устанавливает ЧРВ по системному времени. Затем наберите:
date +%j
(или "date +%s", если вы используете "ntpdate" вместо "date" ) и запишите число, которое вам понадобится в следующий раз.


Как переустановить время и изменить величину коррекции

Найдите дату, когда вы последний раз устанавливали часы. Зайдите как пользователь root и напишите:

clock -a
Это синхронизирует системное время по ЧРВ. Позвоните по телефону (303)499-7111 (голос), наберите:
date
и нажмите ввод, когда услышите сигнал. Пока вы ждете, запишите точное время. Затем наберите
date hh:mm:00
напишите время на одну минуту вперед и нажмите ввод, когда опять услышите сигнал. Для графы hh поставьте местное время. Итак, вы установили системное время. Теперь наберите:
clock -w
эта команда поставит правильное время в ЧРВ. Напишите:
date +%j
(или "date +%s" в случае прежде описанном)

Теперь у вас есть все для того, чтобы определить величину коррекции.


Как вычислить величину коррекции

Когда вы запускаете "date", определите, забежали ли ваши часы вперед, или они отстают? Если забежали, то придется вычесть несколько секунд, то есть написать их со знаком минус. Если они отставали, то вам придется добавить секунды, то есть записать их с положительным знаком.

Теперь вычтите одну дату из другой. Если использована команда "date +%j", то числа - это дни в году (1-365, или 1-366 в високосном). Если вы использовали команду "date +%s" , то это число в секундах, и вы должны разделить его на 86400, чтобы получить дни.

Если у вас уже есть величина коррекции в /etc/adjtime, то откорректируйте ее в зависимости от полученного результата. Умножьте старую величину на количество дней и прибавьте новую величину.

Затем разделите количество секунд на дни, и получите новую величину коррекции, которую надо записать вместо старой в /etc/adjtime. Запишите количество дней для следующего раза.

/etc/adjtime выглядит примерно так:

-9.600000 845082716 -0.250655
(заметьте, 9.6 секунд в день это почти 5 минут в месяц!)


Пред.НачалоСлед.
Радио часы Авторские права
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...