コマンドラインからインターネットから日付を取得し、コンピューターの時計を設定するにはどうすればよいですか。
使用できます:
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"
日付を更新するためだけにインストールしたくない場合に備えて、時間を更新するために見つけた小さなコード。 :)
Sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
私はこれを使います:
Sudo ntpd -qg; Sudo hwclock -w
最初にntpdに時刻を設定し、その後-qで停止するように指示します。また、クロックに大きなエラーがある場合は、ntpdに-gを使用して調整するように指示する必要があります。最後に、ハードウェアにクロックを書き込んで、hwclock -w(hardwareclockを現在のシステム時刻に設定するための-wを使用すると、違いがあります)で再起動したときの変更を保持します。
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
「ピア」(クエリできるホスト)を見つけるには、ntpq -p
を使用できます。
NTPサービスが既に実行されている場合は、たとえばSudo service ntp stop
を使用して手動で更新する前に、サービスを停止する必要があります。
これで、たとえばSudo ntpdate "peer"
を使用してピアにクエリを実行できます。
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
Tusharの返信 に加えて、apt-get install ntpdate
私のUbuntu 14.04で。
評判はコメントには不十分なので、回答として投稿します。
クロックを定期的にリセットする非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のみを開くことができます。