2011-06-26 13:23:39 +0000 2011-06-26 13:23:39 +0000
71
71

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で現在時刻を変更することはできますか?

回答 (10)

92
92
92
2011-06-26 15:28:54 +0000

通常は自動的に時刻を設定してもらいたいと思うでしょうし、その場合はntpdを使って自動的に時刻を設定してもらいたいと思うでしょう。

仕様はディストリビューションによって若干異なりますが、例えばUbuntuを起動している場合は、【UbuntuでNTPを設定する】(https://help.ubuntu.com/community/UbuntuTime)のガイドがあります。それ以外の場合は、`ntpd `でググれば出てくると思いますが、手動で設定したい場合は

。例としては、次のようなものが考えられます:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
37
37
37
2011-06-26 14:13:09 +0000

ハードウェアクロックを現在のシステム時刻に設定します。

23
23
23
2013-04-01 13:13:25 +0000

これに関する情報は Ubuntu Official Documentation にあります。

13
13
13
2013-08-23 16:51:36 +0000

もう一つの一般的な、非常に迷惑な問題は、間違ったタイムゾーンが選択されている場合です…

日付の出力でタイムゾーンを確認してください:

$ date

Fre Aug 23 18:47:04 UTC 2013

タイムゾーンの種類を修正するには:

$ sudo tzselect

と対応する番号を持つ正しい地域を選択します。

2番目のタスクは、正しい時間を設定することです:

$ sudo date -set=“18:37:00”

または単にHW-時計から時間を取る:

$ sudo hwclock –hctosys

3
3
3
2015-04-03 10:00:44 +0000

CentOSのタイムゾーンは、特定のタイムゾーンにシステムの日付を変更するには、/usr/share/zoneinfo/に位置しています:

まず、既存のlocaltimeファイルのバックアップを作成します。

sudo mv /etc/localtime /etc/localtime.bak

OR

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime

OR date -s "11 MAR 2006 11:11:11" date --set="11 MAR 2015 11:11:11"

現在のシステム時刻にハードウェアクロックを設定するには:

date +%Y%m%d -s "20150311"
hwclock --systohc

OR hwclock -w &001

2
2
2
2015-06-17 09:24:07 +0000

試してみてください:

date +%T -s "12:21:00"

または

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
1
1
1
2013-07-31 07:32:37 +0000

“hwclock "はハードウェア(マシン)の日付、"date "はソフトウェア(操作系)の日付です。

0
0
0
2011-11-26 11:33:01 +0000

date は、CPU が起動した瞬間からの時間に内部ハードウェアクロックを加えた時間として与えられた時間を返し、 hwclock は内部クロックが持っている時間を与えます。また、インターネット上で国際的に時間を調整するために使用されるネットワークプロトコルの時間の使用の背後にある理由の一つです。

0
0
0
2016-09-26 12:37:17 +0000

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)

eestのURLがローカルタイムゾーンの場合はこれを使用してください。

0
0
0
2019-02-20 14:18:53 +0000

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時間を与えるだろう。

関連する質問

6
10
5
37
12