config clock サブコマンド¶
概要¶
config clock はシステムのタイムゾーンと日時を設定する CLI グループ1。タイムゾーンは CONFIG_DB の DEVICE_METADATA|localhost.timezone に保存し、日時は OS の timedatectl set-time を実行する。
コマンド一覧¶
| コマンド | 用途 |
|---|---|
config clock timezone <timezone_name> |
システムタイムゾーンを設定 |
config clock date <YYYY-MM-DD> <HH:MM:SS> |
システム日時を設定 |
各コマンドの詳細¶
config clock timezone <timezone_name>¶
用法:
引数:
<timezone_name>...timedatectl list-timezonesが返す候補から選ぶ(shell completion 対応)
動作:
timedatectl list-timezonesの出力を取得し、引数がリストに含まれるか検証。不一致ならTimezone <name> does not conform formatを表示してsys.exit(1)- CONFIG_DB の
DEVICE_METADATA|localhostテーブルにtimezoneフィールドをmod_entryで書き込む
📋 検証エビデンス: sonic-net/sonic-utilities/config/main.py#L9777-L9790 (sha: 39732bceb8bdefe706518ab40623bbbba6ff33b9)
出典:
sonic-net/sonic-utilities/config/main.py#L9777-L9790 (sha: 39732bceb8bdefe706518ab40623bbbba6ff33b9)
抜粋:
config clock date <date> <time>¶
用法:
引数:
<date>...YYYY-MM-DD形式(datetime.strptimeでフォーマット検証)<time>...HH:MM:SS形式(同様に検証)
動作:
両方のフォーマットチェック後、timedatectl set-time "<date> <time>" を実行する。CONFIG_DB は更新しない(systemd 経由で OS の wall clock を変更するのみ)2。
関連する CONFIG_DB¶
| テーブル | キー | フィールド |
|---|---|---|
DEVICE_METADATA |
localhost |
timezone |
注意¶
dateサブコマンドは NTP 同期が有効な場合、timedatectlが "Failed to set time: Automatic time synchronization is enabled" でエラーを返す。先に NTP を停止する必要がある。timezoneは CONFIG_DB に保存されるためconfig save後の再起動でも保持される。dateは OS clock の変更のみで CONFIG_DB に持続化されない。
データフロー (自動生成)¶
flowchart LR
CLI["config clock"]
SC["sonic-cfggen<br/>(config CLI のみ)"]
CLI --> SC
CDB0[("CONFIG_DB<br/>DEVICE_METADATA")]
SC --> CDB0
DM0["SwitchOrch"]
CDB0 --> DM0
凡例
config 系 (CLI → CONFIG_DB → daemon) のミニ図。テーブル → daemon 対応は docs/reference/config-db-orch-map.md から機械生成。
関連リファレンス¶
- CONFIG_DB:
DEVICE_METADATA
引用元¶
関連 CLI コマンド¶
show clock— show clock サブコマンドshow environment— show environment サブコマンドshow feature— show feature サブコマンドshow platform— show platform サブコマンドshow services— show services サブコマンド
-
config clockグループ定義はconfig/main.pyL9758-L9815。https://github.com/sonic-net/sonic-utilities/blob/39732bceb8bdefe706518ab40623bbbba6ff33b9/config/main.py#L9758 ↩ -
timedatectl set-timeは systemd 提供の操作で OS 時刻のみを変更する。 ↩