インターネットで日付を検索し、コマンドラインでコンピュータの時計を設定するにはどうすればよいですか?
答え1
日付を更新するために何もインストールしたくない場合に備えて、時間を更新する小さなコマンドを見つけました。 :)
sudo date -s "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | sed -n 's/^ *Date: *//p')"
date
実際に時間を設定する前に、次を実行して文字列を正しく理解していることを確認できます。
$ date -d "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | sed -n 's/^ *Date: *//p')"
Mon Jan 10 11:40:46 AM CET 2022
このwget
コマンドはで置き換えることができますcurl -Is --max-redirs 0 google.com
。
応答が最新のときに応答がキャッシュされる可能性がある--method=HEAD
ため(以前のヘッダーを使用)、この方法が使用されます。GET
Date
HEAD
答え2
最初にタイムゾーンを変更するには、次のものを使用できます。
sudo dpkg-reconfigure tzdata
最新バージョンの systemd を使用して Linux ディストリビューションのインターネットで時刻と日付を更新するには、次のようにします。
timedatectl set-ntp true
あるいは、以下の説明に従って参照NTP実装をインストールすることもできます。
参照NTPの実装
インストールする
インストールされていない場合は、ntpd
次のいずれかのコマンドを使用してインストールしますntpd
。
- RPMベースの場合:
yum install ntp
- Debian ベースの場合:
sudo apt-get install ntp
構成
/etc/ntp.conf
設定ファイルで少なくとも次のパラメータを設定する必要があります。
server <Time Server Name or IP Address>
たとえば、/etc/ntp.conf
viテキストエディタを使用してファイルを開きます。
# vi /etc/ntp.conf
サーバーパラメータを見つけて、次のように設定します。
server pool.ntp.org
ファイルを保存してntpd
サービスを再起動します。
# /etc/init.d/ntpd start
次のコマンドを使用して、システムクロックをNTPサーバーにすぐに同期できます。
# ntpdate pool.ntp.org
手動で日付を設定
時刻と日付を手動で設定するには、次の構文を使用します。
date --set="STRING"
たとえば、日付をに設定するには、2 Oct 2006 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
:2番目(SS)
%p
そのロケールに対応するAM / PMを使用できます。
# date +%T%p -s "6:10:30AM"
# date +%T%p -s "12:10:30PM"
答え3
私はこれを使用します:
sudo ntpd -qg; sudo hwclock -w
まず、ntpdに時間を設定するように指示し、次に-qを使用して停止します。また、クロックが非常に間違っている場合は、この場合でも-gを使用して調整するようにntpdに指示する必要があります。最後に、hwclock -wを使用して再起動時に変更が保持されるように、クロックがハードウェアに書き込まれます(-wは、ハードウェアクロックを現在のシステム時間に設定するために使用され、違いがあります)。
答え4
ntpdate、ntpd、またはChronyを使用してNTPサーバーに接続します。