web-dev-qa-db-ja.com

インターネットから日時を設定するにはどうすればよいですか?

コマンドラインからインターネットから日付を取得し、コンピューターの時計を設定するにはどうすればよいですか。

38
Mohsen

使用できます:

Sudo dpkg-reconfigure tzdata

タイムゾーンを設定します。

インターネットから時刻と日付を更新するには、以下を使用します。

インストール

Ntpdがインストールされていない場合は、次のコマンドのいずれかを使用してntpdをインストールします。

  • RPMベースの場合:

    yum install ntp 
    
  • Debianベースの場合:

    Sudo apt-get install ntp
    

構成

少なくとも/etc/ntp.conf構成ファイルで次のパラメーターを設定する必要があります:server

たとえば、viテキストエディタを使用して/etc/ntp.confファイルを開きます。

  # vi /etc/ntp.conf

サーバーパラメータを見つけて、次のように設定します。

  server pool.ntp.org

ファイルを保存し、ntpdサービスを再起動します。

  # /etc/init.d/ntpd start

次のコマンドを使用して、システムクロックをNTPサーバーにすぐに同期できます。

  # ntpdate pool.ntp.org

*時刻​​と日付を手動で設定するには、次の構文を使用します。

 date --set="STRING"

たとえば、新しいデータを2006年10月2日18:00:00に設定し、次のコマンドをrootユーザーとして入力します。

# date -s "2 OCT 2006 18:00:00"

OR

# date --set="2 OCT 2006 18:00:00"

次の構文を使用してフォーマットを簡略化することもできます。

# date +%Y%m%d -s "20081128"

時間を設定するには、次の構文を使用します。

# date +%T -s "10:13:13"

どこ、

10:時間(hh)13:分(mm)13:秒(ss)

AMまたはPMのいずれかに相当する%pロケールを使用して、次のように入力します。

# date +%T%p -s "6:10:30AM"

# date +%T%p -s "12:10:30PM"
31
tusharmakkar08

日付を更新するためだけにインストールしたくない場合に備えて、時間を更新するために見つけた小さなコード。 :)

Sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
31
Prashant Kabade

私はこれを使います:

Sudo ntpd -qg; Sudo hwclock -w

最初にntpdに時刻を設定し、その後-qで停止するように指示します。また、クロックに大きなエラーがある場合は、ntpdに-gを使用して調整するように指示する必要があります。最後に、ハードウェアにクロックを書き込んで、hwclock -w(hardwareclockを現在のシステム時刻に設定するための-wを使用すると、違いがあります)で再起動したときの変更を保持します。

10
Silverrocker

Ntpdate、ntpd、またはChronyを使用してNTPサーバーに接続します。

一部のディストリビューションはその目的のために rdate を出荷しています。基本的な使い方:

# just query
bash-4.2$ rdate pool.ntp.org
rdate: [pool.ntp.org]   Wed Jun 12 11:05:40 2013

# set system time
bash-4.2$ rdate -s pool.ntp.org
5
manatwork

いくつかの研究の後、私はこれで終わりました。私はそれを自分のサーバーにも適用しました:

Sudo apt-get install ntp
Sudo dpkg-reconfigure ntp
ntpq -p

最後のコマンドでサーバーの有効なリストが表示された場合は、問題ありません。このコマンドは、非常に複雑なアルゴリズムのセットを実行します。これは、とりわけ、クロックドリフトを反復し、それらを補正します。 NTPサーバーへの接続が失われた場合でも、かなり正確なクロックになります。ただし、コマンドを開始するには数分かかります。

出典: here および here

5
Tubbles

「ピア」(クエリできるホスト)を見つけるには、ntpq -pを使用できます。

NTPサービスが既に実行されている場合は、たとえばSudo service ntp stopを使用して手動で更新する前に、サービスを停止する必要があります。

これで、たとえばSudo ntpdate "peer"を使用してピアにクエリを実行できます。

0
l0b0

manatworkの回答で提案されている rdate ツールを使用するが、SNTPプロトコルを使用する-nおよびIPv4 -4オプション:

# just print synced time, not set
rdate -n -4 -p time-a.nist.gov

# print and set synced time
Sudo rdate -n -4 time-a.nist.gov

このツールは、次の方法でDebianにインストールできます。

Sudo apt-get install rdate
0
SergeanT

Tusharの返信 に加えて、apt-get install ntpdate私のUbuntu 14.04で。

評判はコメントには不十分なので、回答として投稿します。

0
pylipp

クロックを定期的にリセットする非ntp/ntpdの方法も探していました。私はgoogle.comヘッダーの解析が好きでしたが、ubuntuでは機能しないことがわかりました。これはRaspberry Piでも機能すると思います。

Sudo date +"%d %b %Y %T %Z" -s "$(wget -qSO- --max-redirect=0 http://google.com 2>&1 | grep '^  Date:' | cut -d' ' -f 5-)"

Wgetの代わりにcurlを使用する別の方法もあります。

Sudo date +"%d %b %Y %T %Z" -s "$(curl -s --head http://google.com | grep '^Date:' | cut -d' ' -f 3-)"

セルラーネットワークを使用してPIでテストし、結果は同様です。

Using Host & wget -- RCV: 1324 bytes SND: 581 bytes
Using Host & curl -- RCV: 1318 bytes SND: 567 bytes

注ホストを使用してgoogle.comをIPアドレスに解決しているので、iptablesを使用してこのコマンドの実行中はそのIPのみを開くことができます。

0
Ron B