Linux устанавливает время из сети при входе в систему

На моем Ubuntu 10.04 я (пользователь, а не root) могу выдавать

sudo net time set

, и он прекрасно работает.

Я бы предпочел, чтобы ящик получал чистое время на более регулярной основе или, по крайней мере, каждый раз, когда он входил в систему. Поэтому я попытался добавить set net set set в / etc / профиль . Это не удается. Я добавил строфы, похожие на

user ALL=(ALL) NOPASSWD: /usr/bin/net

в / etc / sudoers (используя visudo ). Не помогло.

Я никогда не трогал cron , поэтому понятия не имею, как добавить вкладку chron. (кажется, оксюморонная зависимость от системного времени для сброса системного времени.)

  1. Каков наилучший способ сделать это?
  2. Если это работа cron, я бы оцените быстрый пример.
  3. Те же вопросы, но для команды service dhcp3-server restart ?

(да, мой ящик получает свой адрес по dhcp, но его сервер dhcp контролирует 4 Гигабитные карты enet, подключенные к высокоскоростным камерам. Иногда при входе в систему «при загрузке» сервер dhcp оставляет мне видеть только 1 камеру.)

Заранее спасибо.

0
задан 10 January 2012 в 21:25

2 ответа

(Да, я добавляю второй ответ.)

Из вашего описания вы добавили соответствующую строку в /etc/sudoers, но не вызываете sudo в /etc/profile .

Команда в /etc/profile должна быть:

sudo net time set

Обратите внимание, что это будет выполняться каждый раз, когда любая учетная запись входит в систему. Это то, что вы хотите, или было бы более разумно ввести команду в $HOME/.profile?

Чтобы сделать это работой cron, вы можете добавить что-то вроде этого:

0 * * * * *      sudo net time set

, скажем, foo.txt, затем crontab foo.txt. После этого crontab -l покажет вам ваши текущие задания cron. С заданными параметрами задание будет выполняться раз в час; man 5 crontab и отрегулируйте при необходимости. могут быть некоторые проблемы, потому что задания cron выполняются в минимальной среде, но я не думаю, что /usr/bin/net зависит от каких-либо переменных среды.

Обратите внимание, что в отличие от ntpd, это может привести к тому, что часы вашей системы отскочат назад, что может вызвать проблемы.

0
ответ дан 10 January 2012 в 21:25

Не беспокойтесь.

Обычный способ сохранить системные часы синхронизируемыми ntpd. Это должно быть установлено и настроено по умолчанию на Ubuntu. Вы имеете ntpd выполнение процесса? Часы действительно ли Вашей системы являются неправильными?

РЕДАКТИРОВАНИЕ:

Из Вашего комментария к моему другому ответу похоже, что у Вас есть сервер NTP, который можно использовать.

Вы должны уже иметь ntp программное обеспечение установлено в Вашей системе. dpkg -l ntp проверить. Вы, вероятно, имеете ntpd демон, уже работающий, хотя это не будет работать, потому что это не знает со что сервером говорить; ps -ef | grep ntpd подтвердить это.

/etc/ntp.conf конфигурационный файл для ntp. Версия по умолчанию имеет:

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

Прокомментируйте те строки и добавьте:

server your.ntp.server

затем выполненный:

sudo /etc/init.d ntp restart

man ntpd для получения дополнительной информации, но этого должно быть достаточно для получения Вас движение.

0
ответ дан 10 January 2012 в 21:25

Другие вопросы по тегам:

Похожие вопросы: