Мне нужно установить время на сервере Ubuntu на 1 неделю вперед и оставить его там (это для тестовой среды с условиями, зависящими от даты, которые должны быть протестированы / проверены заинтересованными сторонами), однако когда я это делаю (с date -s 2010-11-11T00:00:00
) время возвращается к «реальному» значению примерно через 30 минут.
Я отключил NTP
, ntpdate
и т.д., даже удалил пакеты NTP, отключил munin-node
для мониторинга и др., но это все еще происходит, и я не могу понять, что происходит.
Я попытался настроить скрипт, чтобы время сдвигалось вперед каждую минуту, это вызывает странное поведение / проблемы с Nginx и Varnish, когда он переключается назад и вперед между запусками скрипта.
Любой совет?
(Примечание: это Ubuntu 9.10, работающая на EC2)
Дополнительная информация: Нет запущенных заданий cron, связанных со временем, и я не могу получить доступ к аппаратным часам, чтобы попытаться продвинуть их вперед и использовать в качестве источника ....
Я как бы думаю, что это одна из идиом EC2 - вы получаете «действительно надежные» часы, независимо от того, что вы делаете ...
Если есть только несколько процессов, которым вам нужно солгать, вы можете использовать libfaketime:
libfaketime перехватывает различные системные вызовы, которые программы используют для получения текущей даты и времени. Затем он может сообщать этим программам ложные даты и время (как указано вами, пользователем). Это означает, что вы можете изменять системное время, которое видит программа, без необходимости изменять время в масштабе всей системы.
Возможно ли, что какие-либо дополнительные гостевые виртуальные машины на EC2 выполняют синхронизацию времени с хостом независимо от NTP?
Проверяйте /etc/cron.d и /etc/cron.hourly, вы должны что-то там найти. grep для ntpdate и / или hwclock.
Если вы уже удалили пакет ntp, скорее всего, это аппаратные часы (hwclock), которые синхронизируются.
Простым решением может быть установка часового пояса на час вперед по сравнению с тем, где вы сейчас находитесь (например, от +10 до +11 или от -8 до -7)? Таким образом, в следующий раз, когда ваши часы синхронизируются, они все равно будут показывать «неправильное» время.