У меня странная проблема, которую я пытаюсь устранить, и мне интересно, есть ли у кого-нибудь полезные советы.
У меня каждую минуту выполняется cronjob, который выполняет сценарий и добавляет результат в файл на файловом сервере. Задание печатает текущую метку времени с начала эпохи (дата +% s) и текущее время безотказной работы (включая текущее системное время) в файл.
Сценарий такой:
DATE=`date +%s`
UPTIME=`uptime`
echo "$DATE;$UPTIME"
И что я получаю:
1325770921; 14:42:01 up 17 days
1325775379; 14:43:01 up 17 days
1325771041; 14:44:01 up 17 days
Обратите внимание на то, что метка времени посередине составляет ~ 1 час 15 минут .. есть идеи относительно причины?
Вы упоминаете в комментариях, что используете виртуальную машину. На виртуальных машинах должен быть запущен NTP-клиент, который постоянно корректирует правильное время и дату. Если вы этого не сделаете, взаимодействие между физическими аппаратными часами и виртуальными часами может стать беспорядочным, и время будет дрейфовать.
В самом деле, каждый система должна запускать NTP, но в виртуальных машинах это критично, а не просто рекомендуется.
В средах Linux и BSD должны быть доступны как NTPd, так и OpenNTPd; вы не упомянули, какую среду вы используете.
В зависимости от вашей виртуальной машины может быть, что ваш Guest
часы привязаны к hosts
.
пожалуйста, проверьте
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
Видеть http://wiki.debian.org/Xen после заголовка «clocksource / 0: время пошло назад». Это дает вам обходной путь, который можно попробовать, если вы столкнетесь с виртуальной машиной Xen.
Мы весело прыгали с ними, и в зависимости от того, сколько лет вашему dom0 и насколько новые ваши гости domU, нам пришлось использовать xen
и jiffies
чтобы время работало и действительно можно было использовать ntp для гостей.