Ссылаясь на "пре-постер": не держите ntpdate на своем сервере, если вы используете ntpd!
Учитывая, по каким причинам ваша система дрейфует во времени, что вы собираетесь с этим делать?
Когда вы сталкиваетесь с проблемами со временем в Linux,во-первых, проверьте любую систему виртуализации - если вы используете VMware/Hyper-V/Xen/KVM/что угодно - подумайте, какие у вас здесь на самом деле "аппаратные часы"!?! Иногда ваши часы «BIOS» работают неправильно, но они такие же виртуальные, как и ваша сетевая карта (!), поэтому, если вы используете виртуальные машины, поговорите со своими ответственными коллегами.
Вкратце о разнице между ntpd и ntpd: ntpd «обманывает» вашу систему, слегка добавляя доли времени к системному времени (дате), пока локальное системное время не будет синхронизировано с тем, что говорит ваш источник времени, тогда как ntpdate быстро устанавливает ваше местное время на «сетевое время».
Системное время — это то, что команда дата
сообщит вам в Linux. Но есть также hwclock
(требуется sudo), который действительно является вашим аппаратным обеспечением, также известным как часы BIOS.
На этот раз — в буквальном смысле — вам может понадобиться выполнить
sudo hwclock ---systohc
, чтобы установить в BIOS/аппаратных/виртуальных часах системную дату – то, что говорит ntpd. Если вам нужно делать это чаще, есть проблема.
Я точно знаю, что это относится к Ubuntu, поэтому я предполагаю, что это относится и к Debian. Причина в том, что система может вовремя вызвать ntpdate (cron.weekly?), но когда у вас запущен ntpd, он обычно будет жаловаться! Вы просто не можете запустить ntpdate, когда работает ntpd. Проверьте сами на новой установке. Поэтому я предполагаю, что с учетом вашего cronjob ваш ntpd на самом деле не работает как демон.Зачем еще вам запускать его каждый час на 59-й минуте в тихом (-q) режиме?
Странная вещь в вашем cronjob, это то, что он запускает ntpd в "--тихом режиме" - почему так? Это демон, да? Они все время работают в фоновом режиме, не так ли?
Обычно вы устанавливаете ntpd, потому что он владеет файлом дрейфа, который позволяет ntpd корректировать ваше время плавно, но «с течением времени» — здесь он может добавить доли секунды и есть, но не заставляя сбрасывать время, скажем, на 30 секунд в будущем - или, что еще хуже, в прошлом - потому что вы можете предположить, например, Большинство баз данных вообще не любят путешествия во времени!
Для этого и предназначен ntpd. ntpdate - наоборот - будет оперативно исправлять любые временные дрейфы, которые могут вызвать критические проблемы со временем в приложениях - ntpd, с другой стороны, будет добавлять несколько миллисекунд к каждой прошедшей секунде, чтобы все пошло правильно время «во времени», что неудивительно для любого приложения, которое глубоко полагается на временные метки с БОЛЬШИМИ скачками во времени вперед или назад. Серьезные базы данных полагаются на метки времени (например, mysql/postgres/mariadb).
Демон всегда должен работать в фоновом режиме, поэтому я должен предположить, что ваш бывший администратор смешивал ntpdate с ntpd, потому что обычно — без ntpd — вы время от времени вызывали бы ntpdate, чтобы быстро настроить время когда дрейфовал. Вместо этого ntpd должен работать, работать и работать, и обычно вы забываете об этом «вовремя»…
Или у вас действительно очень старая система, поэтому вы можете подумать об обновлении в зависимости от важности вашей системы Linux.
Я предлагаю проверить вашу систему у какого-нибудь администратора Linux, потому что ИМХО ваша система настроена неправильно.
Вы официально предупреждены ;-)