Linux
 Computer >> コンピューター >  >> システム >> Linux

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

この記事では、時刻、日付、タイムゾーンを設定し、時刻をNTPサーバーと同期し、CentOSLinuxの一般的な問題を修正する方法を説明します。

サーバーの時計には、ハードウェアの2種類があります。 サーバーがオフで、オペレーティングシステムがソフトウェアであっても機能する1つ(リアルタイムクロック) 時計。これらの時計の時刻は異なる場合があります。オペレーティングシステムを起動した後、ソフトウェアクロックはハードウェアのものに基づいており、OSによって調整される場合があります。
ほとんどのアプリケーションは、動作にソフトウェアクロック時間を使用します。

Hwclock:ハードウェア時間の構成

Hwclock Linuxでハードウェア時間をチェックするために使用されます:

  • hwclock --localtime —修正せずにハードウェア時間を確認します
  • hwclock --utc –ハードウェアクロックがUTC時間を示している場合は時間を表示します

# hwclock --localtime

2020-10-12 06:12:02.912866-04:00

# hwclock --utc

2020-10-12 02:12:18.915319-04:00

システム時間に従ってハードウェア時間を設定するには、次のコマンドを実行します。
# hwclock --systohc
必要なハードウェア時間を設定するには、次のコマンドを実行します。
# hwclock --set --date "11 Oct 2020 17:30"

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

CentOSでの手動時間設定

Linuxでは、日付 またはtimedatectl ツールは、ソフトウェア時間をチェックおよび設定するために使用されます。 日付に電話する場合 パラメータがない場合は、サーバーの現在の時刻が表示されます:

# date

Sun Oct 11 22:14:54 EDT 2020

時間を手動で設定する場合は、日付を使用できます 追加パラメータ付き:

# date MMDDhhmm

例:

# date 10261740

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

日付、時刻、タイムゾーン、同期設定、夏時間設定(DST)に関する拡張情報を取得するには、 timedatectl 使用されている。サーバーの時間設定に関する詳細情報を提供します。

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

Timedatectlでは、時刻を変更することもできます:

# timedatectl set-time '2020-10-11 17:51:00'

CentOSでTimeZoneを設定する方法

CentOS Linuxでタイムゾーンに応じて時間を設定するには、手動で変更できます。これを行うには、次の2つのツールを使用できます。

  • timedatectl
  • tzdata

timedatectlを使用してタイムゾーンを変更するには 、次のコマンドを実行します:

# timedatectl set-timezone Canada/Pacific
# date

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

または、 tzdataを使用できます 。この方法を使用するには、ファイル / etc / localtimeを置き換えます あなたが必要なもので。タイムゾーンの全リストは、/usr/share/zoneinfo/にあります。 ディレクトリ。タイムゾーンをカナダ/太平洋に変更しましょう 。現在のlocatimeファイルをバックアップします:

# mv /etc/localtime /etc/localtime.bak

設定するタイムゾーンへのシンボリックリンクを作成します。
# ln -s /usr/share/zoneinfo/Canada/Pacific /etc/localtime

時間をNTPタイムサーバーと同期するようにCentOSを構成する

ホストで外部NTP(Network Time Protocol)サーバーを使用して自動時刻同期を構成できます。これを行うには、ntpサービスをインストールする必要があります 。たとえば、CentOS7のyumを使用してインストールできます。

# yum install ntp -y

インストール後、ntpdサービスを開始し、スタートアップに追加します:

# systemctl start ntpd.service
# systemctl enable ntpd.service

サービスが実行されていることを確認してください:

# service ntpd status

Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-10-11 15:37:33 +06; 5min ago
Main PID: 3057 (ntpd)
CGroup: /system.slice/ntpd.service
└─3057 /usr/sbin/ntpd -u ntp:ntp -g

/etc/ntp.confで時刻を同期するNTPサーバーを指定します :

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

時間は順番に同期されます。最初のNTPサーバーが利用できない場合は、2番目のサーバーが使用されます。

次のコマンドを使用して、指定したNTPサーバーと手動で時刻を同期できます。

# ntpdate 192.168.1.23

デフォルトでは、 ntpd 「11分モード」を有効にします。これは、時間が11分ごとに同期されることを意味します。 ntpdを使用できない場合 デーモンの場合、cronを使用して時刻同期を構成できます。次のコマンドをcronに追加します:

# ntpdate pool.ntp.org

Chronydを使用してCentOS8で時刻を同期する方法

CentOS 8では、chronyを使用する必要があります ntpとntpdateが公式リポジトリから削除されたため、時刻を同期します

chronyの主な利点は次のとおりです。

  • 時間同期の高速性と精度;
  • マスタークロックにアクセスできない場合の適切な操作(ntpdには定期的なリクエストが必要です)。
  • デフォルトでは、プログラムの実行に関する問題を防ぐために、同期の直後に時刻は変更されません。
  • 使用するリソースが少なくて済みます。

デフォルトでは、chrony はすでにCentOSLinuxにインストールされていますが、何らかの理由でインストールされていない場合は、インストールしてください:

# dnf install chrony

他のサービスと同様に、chronyを開始し、インストール後にスタートアップに追加する必要があります:

# systemctl start chronyd
# systemctl enable chronyd

chronydサービスのステータスを確認してください:

# systemctl status chronyd

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

時間同期が機能していることを確認するには、次のコマンドを実行します。

# timedatectl status

NTP Service: active

CentOS:日付、時刻、タイムゾーン、およびNTP同期を設定する方法

Chrony構成ファイルは/etc/chrony.conf 。同期に使用するNTPサーバーのリストを指定します。 ntpのように 、chronyにはコマンドラインインターフェイスがあります: chronyc 。現在の時刻同期オプションに関する情報を表示するには、次のコマンドを実行します。

# chronyc tracking

同期サーバーに関する情報を表示するには:

# chronyc sources

特定の日時を手動で設定する場合は、日付を使用できます 、ただし、以前はchronydを無効にしてください デーモン。

CentOSでの一般的なTimeSynの問題

このセクションでは、 timedatectlを使用するときに表示される一般的なエラーについて説明します。 、 ntp

手動の時刻同期中に、次のエラーが発生する場合があります:

# ntpdate pool.ntp.org

ntpdate [26214]: the NTP socket is in use, exiting

これは、 ntpdが デーモンが実行されており、手動の時刻同期が妨げられています。手動で時刻を同期するには、ntpdデーモンを停止します。

# service ntpd stop

そして、同期を再度実行します。

timedatectlを使用する場合にも同じエラーが発生する可能性があります:

Failed to set time: Automatic time synchronization is enabled.

timedatectlで自動同期を無効にする必要があります:

# timedatectl set-ntp 0

そして、このコマンドを実行して、必要な日時を設定します。

# timedatectl set-time '2020-11-12 17:41:00'

タイムゾーンを使用している場合、サーバーにタイムゾーンがインストールされておらず、ローカルタイムのシンボリックリンクを作成できない場合があります。ホストでタイムゾーンを利用できるようにするには、tzdataツールをインストールします。

# yum install tzdata -y

また、手動同期中に次のようなエラーが発生する場合があります。

11 Oct 21:11:19 ntpdate[897482]: sendto(xx.xx.xx.98): Operation not permitted

この場合、firewalld / iptablesのルールを確認し、UDPポート123がサーバーで開いていることを確認してください。また、一部のNTPホストは検証中に使用できない場合があります。


  1. Linuxでシャットダウンと再起動の日付を確認する方法

    Linuxコンピュータがいつシャットダウン、再起動されたのか、または実行されている時間の長さを知りたい理由はたくさんあります。ほとんどの場合、この情報は、誰も見ていなかったときに発生した可能性のある問題をデバッグする際に非常に役立ちます。ありがたいことに、Linuxはほとんどのディストリビューションでシステムイベントを自動的に細心の注意を払って記録します。コマンドラインからログに記録された情報にアクセスするのも簡単です。 ラストブート まず、コンピュータが最後に起動したのはいつかを確認したい場合は、whoを使用できます。 -bを使用したコマンド フラグを立てて、端末の正確な日付と時刻を

  2. Windows 10 で日付と時刻の形式を変更する方法

    日付と時刻は、デフォルトで月/日/年 (例:05/16/2018) の形式でタスクバーに表示され、時刻は 12 時間形式 (例:8:02 PM) で表示されますが、必要な場合はどうすればよいですか?これらの設定を変更するには?これらの設定は、Windows 10 の設定またはコントロール パネルから好みに応じていつでも変更できます。日付形式を日付/月/年 (例:16/05/2018) に、時刻を 24 時間形式 (例:21:02 PM) に変更できます。 現在、日付と時刻の両方に使用できる形式が多数あるため、慎重に選択する必要があります。短い日付、長い日付、短い時間、長い時間など、いつで