web-dev-qa-db-ja.com

linux "date-s"コマンドがサーバーの日付を変更するために機能しない

date +%T --set="12:19:06"
12:19:06
date
Mon Nov 26 12:37:32 SAST 2012

date 112613232012
Mon Nov 26 13:23:00 SAST 2012
date
Mon Nov 26 13:42:27 SAST 2012

このコマンドのさまざまな形式を試しましたが、何も機能しないようです。 VMとして実行されているこのコンピューターサーバーで日付を変更すると、機能しません。

メッセージログには、次のようなメッセージが表示されます

ntpd [3496]:-1098秒の時間修正が健全性制限(1000)を超えています。時計を手動で正しいUTC時間に設定します。

私たちのサーバーは現在約20分です。

サーバーが数日間正しく時刻を更新していないようです。

 Nov 22 19:29:23 hostname ntpd [1818]:タイムリセット-998.577519 s 
 Nov 22 19:32:34 hostname ntpd [1818]:LOCAL(0)、ストラタム10に同期
 11月22日19:33:39ホストホストntpd [1818]:41.134.20.28、ストラタム1に同期
 11月22日19:52:30ホストホストntpd [1818]:タイムリセット-998.992426 s 
 11月22日19:55:47ホストホストntpd [1818]:LOCAL(0)に同期、ストラタム10 
 11月22日19:56:53ホストホストntpd [1818]:41.134.20.28に同期、 stratum 1 
 Nov 22 20:13:04 hostname ntpd [1818]:タイムリセット-999.374412 s 
 Nov 22 20:16:40 hostname ntpd [1818]:LOCAL(0)に同期、 stratum 10 
 Nov 22 20:17:44 hostname ntpd [1818]:41.134.20.28に同期、stratum 1 
 Nov 22 20:32:02 hostname ntpd [1818]:タイムリセット-999.716832 s 
 Nov 22 20:35:28 hostname ntpd [1818]:LOCAL(0)に同期、ストラタム10 
 Nov 22 20:36:16 hostname ntpd [1818]:41.134に同期20.28、ストラタム1 
 11月22日20:56:39ホストホストntpd [1818]:の時間修正-1000秒が健全性制限(1000)を超えています。時計を手動で正しいUTC時刻に設定します。
4
nelaaro

http://www.linuxforum.com/threads/2154-Linux-ntp-time-Offset-on-Xen-VM-incorrect

多くの検索を行った結果、デフォルトでは、VMのクロックは制御ドメインで実行されているホストクロックに同期されており、個別に変更することはできません。 NTPはまだ構成されており、クロックを同期できるように見えたので、これは私にとって驚きでした。

/etc/sysctl.confファイルに次の行を追加します

# Allow the VM to update it's own clock, and do not use the DOM Host clock.
xen.independent_wallclock=1

その後、ネットワークサービスを再起動します

/etc/init.d/network restart #for redhat, centos, Fedora
/etc/init.d/networking restart #debian, ubuntu

これで、date -s ...で日付を設定できます

ここに 公式xenドキュメント へのリンクがあります
ここに ntp docs へのリンクがあります

3
nelaaro

Mageiaユーザーとその親(RedHat、Mandrake、Mandriva)の場合、urpmiコマンドを使用してntpとntp-clientをインストールします。

# urpmi ntp ntp-client

次に、サービスを開始し、再起動時に自動的に開始できるようにします。

# systemctl start chronyd.service
# systemctl enable chronyd.service

ここで、timedatectlでNTPベースのネットワーク時刻同期が有効になっているかどうかを確認します。

# timedatectl status
Local time: Wed 2016-12-07 13:39:04 EET
Universal time: Wed 2016-12-07 11:39:04 UTC
RTC time: Wed 2016-12-07 11:38:56
Timezone: Europe/Bucharest (EET, +0200)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2016-10-30 03:59:59 EEST
Sun 2016-10-30 03:00:00 EET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2017-03-26 02:59:59 EET
Sun 2017-03-26 04:00:00 EEST
# date
Wed Dec  7 13:39:11 EET 2016
# timedatectl set-timezone Europe/Bucharest
# date
Wed Dec  7 13:39:48 EET 2016
#

有効にしないとNTP同期タイムゾーン/時間は変更されません。

次に、NTPベースのネットワーク時刻同期を有効にして、新しいタイムゾーンを設定します。

# timedatectl set-ntp 1
# timedatectl set-timezone Europe/Bucharest
# date
Wed Dec  7 10:43:33 EET 2016
# timedatectl status
Local time: Wed 2016-12-07 10:43:59 EET
Universal time: Wed 2016-12-07 08:43:59 UTC
RTC time: Wed 2016-12-07 08:43:59
Timezone: Europe/Bucharest (EET, +0200)
NTP enabled: yes  
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2016-10-30 03:59:59 EEST
Sun 2016-10-30 03:00:00 EET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2017-03-26 02:59:59 EET
Sun 2017-03-26 04:00:00 EEST
1
Paul Bichis