次のコマンドの出力が異なるのはなぜですか?
root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#
Linuxで現在の時刻を変更できますか?
次のコマンドの出力が異なるのはなぜですか?
root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#
Linuxで現在の時刻を変更できますか?
回答:
通常、時間ntpd
を自動的に設定する必要があります。その場合は、時間を自動的に設定するように設定する必要があります。
詳細はディストリビューションごとに若干異なりますが、たとえばUbuntuを実行している場合は、UbuntuでNTPをセットアップするためのガイドがあります。それ以外の場合は、単にGoogleでntpd <distribution-name>
、おそらくそれを見つけるでしょう。
ただし、手動で設定する場合は、を使用できますdate --set="<date string>"
。この例は次のとおりです。
date --set="23 June 1988 10:00:00"
date --set="10:00:00"
ハードウェアクロックを現在のシステム時刻に設定します。
# hwclock --systohc
ハードウェアクロックからシステム時刻を設定します。
# hwclock --hctosys
ただntpdate ntp.ubuntu.com
、すべてがうまくいきます。
これに関する詳細は、Ubuntu公式ドキュメントにあります。
でCentOS
タイムゾーンに位置している/usr/share/zoneinfo/
にシステム日付を変更するには、特定のタイムゾーンのことができます:
まず、既存の現地時間ファイルのバックアップを作成します。
sudo mv /etc/localtime /etc/localtime.bak
次に、リンクを作成します。
sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime
と入力して、新しいシステムの日付を確認しますdate
。
Linuxシステムの日付を手動で調整するには、次のように入力します。
date -s "11 MAR 2006 11:11:11"
または
date --set="11 MAR 2015 11:11:11"
または
date +%Y%m%d -s "20150311"
ハードウェアクロックを現在のシステム時刻に設定するには:
hwclock --systohc
または
hwclock -w
NTPクライアントがない場合にこれを使用します
date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)
URLのeestはローカルタイムゾーンです
utc ...などを使用できます
Linuxで現在の時刻を変更できますか?
私にとっては、最初にこのコマンドを実行する必要がありました。
sudo systemctl stop systemd-timesyncd
それ以外の場合、systemdは時刻をすぐにリセットします。systemdサービスを停止した後、実行date
は期待どおりに機能します。
$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971
サービスの実行中、date -s
コマンドは機能しているように見えましたがdate
、しばらくしてから実行すると、systemd時間を再度取得できます。