⏰
Linux(Ubuntu)時計関係コマンド
Linux時計関係のコマンド
たまに困るのでメモ
timedatectlコマンド
Ubuntuにデフォルトである機能。時間確認など
$ timedatectl
Local time: 火 2023-03-14 21:22:34 JST
Universal time: 火 2023-03-14 12:22:34 UTC
RTC time: 火 2023-03-14 12:22:34
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
サービスの確認
$ sudo systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-03-14 20:55:18 JST; 28min ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 687 (systemd-timesyn)
Status: "Initial synchronization to time server 91.189.91.157:123 (ntp.ubuntu.com)."
Tasks: 2 (limit: 38259)
Memory: 1.5M
CPU: 38ms
CGroup: /system.slice/systemd-timesyncd.service
└─687 /lib/systemd/systemd-timesyncd
3月 14 20:55:18 level systemd[1]: Starting Network Time Synchronization...
3月 14 20:55:18 level systemd[1]: Started Network Time Synchronization.
3月 14 20:55:48 level systemd-timesyncd[687]: Initial synchronization to time server 91.189.91.157:123 (ntp.ubuntu.com).
dateコマンド
現在時刻確認
$ date
時刻設定
$ sudo date --set "2023-01-01 01:02:03"
RTC設定
RTC設定のオン。WindowsとLinuxとデュアルブートしたとき、Windowsの時間が9時間ずれる対策として実施する。
$ timedatectl set-local-rtc true
$ timedatectl
Local time: 火 2023-03-14 21:40:32 JST
Universal time: 火 2023-03-14 12:40:32 UTC
RTC time: 火 2023-03-14 21:40:31
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode cannot be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.
ntpdate
時計の同期方法。ntpdateをインストール。
$ sudo apt update
$ sudo apt install ntpdate
同期する
$ sudo ntpdate ntp.nict.jp
$ date
2023年 3月 14日 火曜日 21:38:58 JST
複数のPCの時計(時刻)合わせ
ホストにntpを入れる
$ sudo apt update
$ sudo apt install -y ntp
$ sudo systemctl restart ntp
クライアント側はchronyを入れる
$ sudo apt update
$ sudo apt install -y chrony
/etc/chrony/chrony.conf
を設定
以下の部分を修正
pool ntp.ubuntu.com iburst maxsources 4
pool 0.ubuntu.pool.ntp.org iburst maxsources 1
pool 1.ubuntu.pool.ntp.org iburst maxsources 1
pool 2.ubuntu.pool.ntp.org iburst maxsources 2
同期したい、ホストのIPアドレスを指定。
#pool ntp.ubuntu.com iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
pool <ip adress> iburst
再起動
$ sudo systemctl restart chrony
以下で確認
$ chronyc sources -v
時間が違いすぎててうまくいかないときは、ntpdateで他のPCと一旦同期するとうまくいったりすることもあります。
$ ntpdate -d <other_computer_ip>
まとめ
時計は地味に重要です。
参考リンク
Discussion