RHEL 7 – RHCSA ノート (チート シート)
RHEL 7 には、システムの日付と時刻を設定するための 3 つのコマンドライン ユーティリティがあります。
1.日付
2. hwclock
3. timedatectl
日付コマンド
システムの日付と時刻を表示または設定するには、date コマンドを使用します。引数なしで date コマンドを実行して、現在の日付と時刻を表示します。
# date Mon Sep 12 19:41:40 IST 2016
date コマンドは、さまざまな出力フォーマット オプションを提供します。未来または過去の時間と日付を指定することもできます。以下にいくつかの例を示します。
1.表示曜日:
# date +%A Monday
2. 1 年後の日付を表示:
# date -d "1 year" Mon Sep 12 19:47:49 IST 2017
3. 1 か月前の日付を表示:
# date -d "1 month ago" Mon Aug 12 19:49:07 IST 2016
現在の日付を変更するには、次の構文を使用します。 YYYY を 4 桁の年に、MM を 2 桁の月に、DD を 2 桁の日に置き換えます。
# date +%D -s [YYYY-MM-DD]
現在の時刻を変更するには、次の構文を使用します。 HH を 2 桁の時間に、MM を 2 桁の分に、SS を 2 桁の秒に置き換えます。 AM または PM のいずれかを含めます。システム クロックが UTC を使用するように設定されている場合は、–u オプションを含めます。
# date +%T%p -s [HH:MM:SS]AM|PM –u
hwclock コマンド
hwclock コマンドを使用して、RTC (リアルタイム クロック) とも呼ばれるハードウェア クロックのクエリと設定を行います。このクロックは、CPU で実行されている制御プログラムとは独立して動作し、マシンの電源がオフの場合でも動作します。 hwclock コマンドを使用すると、次のことができます:
- 現在の時刻を表示
- ハードウェア クロックを指定された時刻に設定する
- ハードウェア クロックからシステム時刻を設定します (hwclock –s )
- ハードウェア クロックを現在のシステム時刻に設定します (hwclock –w )
timedatectl コマンド
– timedatectl ユーティリティは、systemd システムおよびサービス マネージャーの一部です。
– ローカル、ユニバーサル、および RTC の時刻とタイム ゾーン、NTP 構成、および DST 情報を表示するには:
# timedatectl Local time: Tue 2016-09-13 20:30:26 IST Universal time: Tue 2016-09-13 15:00:26 UTC RTC time: Tue 2016-09-13 15:00:26 Time zone: Asia/Kolkata (IST, +0530) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
– 日付と時刻を変更するには、次の構文を使用します:
# timedatectl set-time [YYYY-MM-DD] # timedatectl set-time [HH:MM:SS]
– タイムゾーンを変更するには、次の構文を使用します:
# timedatectl set-timezone [time_zone]
– 利用可能なタイムゾーンを一覧表示するには:
# timedatectl list-timezones Africa/Abidjan Africa/Accra Africa/Addis_Ababa
– NTP を介したクロック同期を有効にするには:
# timedatectl set-ntp yes
NTP の使用
NTP は、別のシステムと同期することにより、コンピュータの時刻を確認および修正する方法を提供します。
NTP をインストールするには:
# yum install ntp
デフォルトでは、NTP 構成ファイル /etc/ntp.conf に 4 つのパブリック サーバー エントリがあり、これらはサーバー ディレクティブによって指定されます。
# grep server /etc/ntp.conf server 0.rhel.pool.ntp.org server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org server 3.rhel.pool.ntp.org
事前定義された公開サーバーを使用する代わりに、/etc/ntpd.conf ファイルでローカル参照サーバーを指定できます。例:
# vi /etc/ntpd.conf server 192.0.2.1
構成ファイル内の別のディレクティブは、driftfile です。デフォルト設定は次のとおりです:
driftfile /var/lib/ntp/drift
このドリフト ファイルには、システムまたはサービスが起動するたびにシステム クロック周波数を調整するために使用される 1 つの値が含まれています。
NTP デーモン
ntpd プログラムは、システム クロックをリモート NTP タイム サーバーまたはローカル基準クロックと同期させるユーザー空間デーモンです。デーモンは、システムの起動時またはサービスの再起動時に構成ファイルを読み取ります。また、NTP パケット用にファイアウォールで UDP ポート 123 を開く必要があります。 /etc/ntp.conf ファイルを編集したら、systemctl コマンドを使用して NTP デーモンを開始します。
# systemctl start ntpd
次のコマンドを使用して、ブート時に NTP デーモンが開始されるようにします:
# systemctl enable ntpd
その他の NTP ユーティリティ
ntpq コマンドを使用して、NTP デーモンの動作を照会し、パフォーマンスを判断します。 –p オプション (または peers コマンド) を使用して、サーバーが認識しているピアのリストとそれらの状態の概要を表示します。例:
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *10.10.0.2 192.168.2.11 2 u 911 1024 377 1.274 0.147 0.355 +10.10.0.3 192.168.2.11 2 u 1026 1024 377 1.161 0.073 0.852
* は、システムが 10.10.0.2 サーバーと同期されていることを示します。 ntpstat コマンドを使用して、ネットワーク時刻の同期ステータスを表示します。
# ntpstat synchronised to NTP server (10.10.0.2) at stratum 3 time correct to within 31 ms polling server every 1024 s
chrony を使用した NTP の構成
Chrony は、NTP の別の実装を提供する一連のユーティリティです。 Chrony は、頻繁に電源がオフになったり、ネットワークから切断されたりするモバイル システムや仮想マシン向けに設計されています。ネットワークに永続的に接続されていないシステムは、NTP デーモン ntpd でシステム クロックを調整するのに比較的長い時間がかかります。
Chrony は、ユーザー空間で実行されるデーモンである chronyd と、chronyd を調整するためのコマンドライン プログラムである chronyc で構成されます。 chronyd デーモンは、カーネルで実行されているシステム クロックを調整します。ネットワーク アクセスが利用可能な場合、NTP を使用して別のシステムと同期します。ネットワーク アクセスが利用できない場合、chronyd は、ドリフト ファイルに保存されている最後に計算されたドリフトを使用して、システム時刻を同期します。
chrony の詳細 (インストール、構成、トラブルシューティング) については、以下の投稿を参照してください:
CentOS / RHEL 7 :chrony を使用した NTP の構成CentOS / RHEL 7 :NTP / chrony の問題のトラブルシューティングに関するヒント