コマンドラインからインターネットから日付を取得し、コンピューターの時計を設定するにはどうすればよいですか?
switch
、ルビーにはないことですdate -s
(マンページに示されているように)、または以下に説明するコマンドのいずれかを使用して日付を直接設定できます...
コマンドラインからインターネットから日付を取得し、コンピューターの時計を設定するにはどうすればよいですか?
switch
、ルビーにはないことですdate -s
(マンページに示されているように)、または以下に説明するコマンドのいずれかを使用して日付を直接設定できます...
回答:
以下を使用できます。
sudo dpkg-reconfigure tzdata
タイムゾーンを設定します。
インターネットから時刻と日付を更新するには、次を使用します。
ntpdがインストールされていない場合は、次のコマンドのいずれかを使用してntpdをインストールします。
RPMベースの場合:
yum install ntp
Debianベースの場合:
sudo apt-get install ntp
/etc/ntp.conf構成ファイルで少なくとも次のパラメーターを設定する必要があります。
たとえば、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"
または
# 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"
from the internet
のタイトルの要件はどこにも考慮されていません。
日付を更新するためだけに何かをインストールしたくない場合に、時間を更新するために見つけた小さなコード。:)
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
google.in
は自分のタイムゾーン(インド)の現在の時刻を取得するために使用します。
Z
時間はズールー時間帯で与えられることを示す末尾に注意してください。したがって、コンピューターの時間帯が正しく設定されている場合、特別な時間帯の操作は必要ありません。
私はこれを使用します:
sudo ntpd -qg; sudo hwclock -w
最初にntpdに時間を設定するよう指示し、その後-qで停止します。また、時計に大きなエラーがある場合、ntpdに-gで調整するように指示する必要があります。最後に、ハードウェアにクロックを書き込み、hwclock -wでリブートするときに変更を保存します(ハードウェアクロックを現在のシステム時刻に設定する場合は-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
pool.ntp.org
からの接続を拒否するようになりましたrdate
。 time.nist.gov
動作します。また、システム時間を設定したら、ハードウェアクロックもhwclock -w
設定してシステム時間に設定する必要があります。その後、実行することでそれが正しいことを確認できますhwclock -r
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-)"
Cellular Networkを使用してPIでテストした結果は似ています。
Using host & wget -- RCV: 1324 bytes SND: 581 bytes
Using host & curl -- RCV: 1318 bytes SND: 567 bytes
注:hostを使用してgoogle.comをIPアドレスに解決し、iptablesでこのコマンドの実行中にそのIPのみを開くことができるようにします。