timedatectlを使用してタイムゾーンを設定し、コマンドラインからネットワーク時間同期(NTP)を有効にする方法

この記事では、timedatectlを使用してタイムゾーンを変更する方法と、LinuxでNTP(ネットワークタイムプロトコル)を使用してシステムクロックをリモートサーバーと自動的に同期する方法について説明します。
timedatectlはsystemdの一部であり、システムクロックのさまざまな設定を変更できるコマンドラインユーティリティとして使用できます。

Linuxでtimedatectlを使用してタイムゾーンを変更する方法

:タイムゾーンを変更する前に、現在設定された時間帯(システム時間の設定に関するその他の情報も表示されている)を見つけるためにtimedatectlを使用してください
timedatectlを

これは、timedatectlのステータスと同じです。

出力例:

#timedatectl
               現地時間:土2020-09-12 19:14:59 CST
           世界時:土2020-09-12 11:14:59 UTC
                 RTC時間:土2020-09-12 11:14:59    
                タイムゾーン:アジア/ Shanghai(CST、+ 0800)
システムクロック同期:                         
              NTPサービスなし:
          ローカルTZの非アクティブ                    RTC:いいえ          

 

ここで、システムで使用されるタイムゾーンの正確な名前がわかるように、使用可能なすべてのタイムゾーンをリストします(タイムゾーンを変更するコマンドに必要)
。timedatectl list-timezones

タイムゾーンのリストは膨大です。grepを使用して、特定の大陸のタイムゾーンまたは特定の国/州の首都のみを表示するようにフィルタリングできます。たとえば、可能なヨーロッパのタイムゾーンのみを表示します
。timedatectl list-timezones | grep Shanghai

アジア/上海


ここで、次のコマンド使用して、Linux システムのタイムゾーンを設定します。
 

timedatectl set-timezone <timezone>


<timezone> timedatectl list-timezonesにリストされているタイムゾーンはどこですか?たとえば、LinuxシステムのタイムゾーンをAsia / Shanghaiに設定します。

timedatectl set-timezone Asia / Shanghai


このコマンドは、/ usr / share / zoneinfo /から選択したタイムゾーンへのシンボリックリンク/ etc / localtimeを作成します。このリンクを手動で作成して、同じ目的を達成することもできます。同じ例で、タイムゾーンをAsia / Shanghaiに設定するには、/ etc / localtimeをシンボリックリンク/ usr / share / zoneinfo / Asia / Shanghaiにする必要があります。

 

timedatectlを使用してシステムクロックをリモートサーバーと同期する方法(NTPを有効にする)

まず、timedatectlを使用して、ネットワーク時刻同期(NTP)サービスがアクティブかどうか、およびシステムクロックが同期されているかどうかを確認します
。timedatectl

Linux システムでNTP サービスを有効にするには、次のコマンド使用します

。timedatectl set-ntp true

無効にしたい場合は、trueではなくfalseを使用してください。

NTPサービス(timesyncd、ntpd、Chrony、その他のサービスなど)がインストールされていない場合、このコマンドは失敗することに注意してください。ただし、多くの場合、timesyncdはデフォルトでインストールされます(たとえば、Ubuntu 16.04以降ではデフォルトでインストールされます)。

chronyやntpdなどのサービスを使用して変更を行う場合、systemd-timedatedは

再起動する前にこれらのコンテンツを表示しません。systemctl restart systemd-timedated


Ubuntu 18.04サーバーでは、systemd-timesyncdも再起動する必要があります(たとえば、この操作はUbuntu 19.04またはSolus OSシステムでは必要ありません)。そうしないと、システム時刻が同期されません。timesyncdも使用し、timedatectlがSystem clock synchronized:is noを表示する場合、NTPサービスがアクティブであると表示されていても、systemd-timesyncdを再起動できます

。systemctl restart systemd-timesyncd


また、デフォルトのsystemd timesyncdサービスを使用すると、timedatectlが提供するよりも多くの情報(使用したNTPタイムサーバーや、最後に実行された同期を示すログなど)を

確認できます。systemctlstatus systemd- timesyncd


出力例:

systemctl status systemd-timesyncd
●systemd-timesyncd.service-Network Time Synchronization
     Loaded:loaded(/usr/lib/systemd/system/systemd-timesyncd.service; disable>
     Active:active(running)since Sat 2020-09-12 19 :21:43 CST; 4秒前
       ドキュメント:man:systemd-timesyncd.service(8)
   メインPID:3518(systemd-timesyn)
     ステータス: "タイムサーバーへの初期同期5.79.108.34:123(0.opensus>
      タスク:2 (制限:4915)
     メモリ:1.5M
     CGroup:/system.slice/systemd-timesyncd.service└─3518/
             usr / lib / systemd / systemd-timesyncd

9月12日19:21:42 localhost systemd [1]:ネットワーク時刻同期を開始しています...
9月12 19:21:43 localhost systemd [1]:ネットワーク時刻同期を開始しました。
9月12日19:21:43 localhost systemd-timesyncd [3518]:tへの初期同期


systemd 239以降(たとえば、systemd 237を使用するためUbuntu 18.04では機能しません)では、次のコマンドを使用してsystemd-timesyncdステータスtimedatectl show-timesyncを表示できます。

timedatectl show-timesync
FallbackNTPServers = 0.opensuse.pool.ntp.org 1.opensuse.pool.ntp.org 2.opensuse.pool.ntp.org 3.opensuse.pool.ntp.org
ServerName = 0.opensuse.pool。 ntp.org
ServerAddress = 5.79.108.34
RootDistanceMaxUSec = 5s
PollIntervalMinUSec = 32s
PollIntervalMaxUSec = 34min 8s
PollIntervalUSec = 1min 4s
NTPMessage = {Leap = 0、Version = 4、Mode = 4、Stratum = 2、Precision = -24、RootDelay = 17.211ms 、RootDispersion = 80.734ms、Reference = 8285010A、OriginateTimestamp = Sat 2020-09-12 19:22:15 CST、ReceiveTimestamp = Sat 2020-09-12 19:22:15 CST、TransmitTimestamp = Sat 2020-09-12 19: 22:15 CST、DestinationTimestamp = Sat 2020-09-12 19:22:16 CST、無視= no PacketCount = 2、ジッター= 3.787ms}
周波数= -6368726


和属性systemd-timesyncd使用timedatectl timesync-status:

timedatectl timesync-status
       サーバー:5.79.108.34(0.opensuse.pool.ntp.org)
ポーリング間隔:1分4秒(分:32秒;最大34分8秒)     
         うるう:通常                               
      バージョン: 4                                    
      ストラタム:2                                    
    リファレンス:8285010A                             
    精度:1us(-24)                            
ルート距離:89.339ms(最大:5s)                   
       オフセット:-10.021ms                            
        遅延:358.105ms                            
       ジッタ:3.787ms                              
 パケット数:2                                    
    周波数:-97.179ppm   


/etc/systemd/timesyncd.conf構成ファイルを編集して、ここに表示される設定を変更できます。たとえば、NTPサーバーを変更し(NTPプールプロジェクトが提供するサーバーを使用できます)、NTP行のコメントを外し、使用するサーバーをスペースで区切って追加します。設定ファイルを変更した後、systemd-timesyncdを再起動します

。systemctl restart systemd-timesyncd

 

おすすめ

転載: blog.csdn.net/allway2/article/details/108552461