Linux 在登入時設定網路時間

Linux 在登入時設定網路時間

在我的 Ubuntu 10.04 機器上,我(用戶,而不是 root)可以發出

sudo net time set

而且效果很好。

我希望盒子能夠更定期地獲取網路時間,或至少在每次登入時取得網路時間。淨時間設定/etc/設定檔。那失敗了。我添加了看起來像的節

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

/etc/sudoers(使用維蘇多)。沒有幫助。

我從未接觸過計劃任務所以我不知道如何新增時間選項卡。 (依賴系統時間來重置系統時間似乎是矛盾的。)

  1. 做這個的最好方式是什麼?
  2. 如果這是 cron 作業,我希望有一個簡單的例子。
  3. 同樣的問題,但對於指令服務 dhcp3-伺服器重新啟動

(是的,我的盒子透過dhcp 取得位址,但它的dhcp 伺服器控制連接到高速攝影機的4 個千兆位元網卡。有時,在登入時?啟動?dhcp 伺服器讓我只能看到1 個攝影機。 )

提前致謝。

答案1

(是的,我正在添加第二個答案。)

根據您的描述,您已將適當的行新增到/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,這可能會導致系統時鐘向後跳,從而導致問題。

答案2

別打擾。

保持系統時鐘同步的常用方法是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了解更多詳細信息,但這應該足以讓您繼續前進。

相關內容