คู่มือจัดการเวลาบน CentOS: Hardware Clock (RTC), System Clock, Timezone, NTP/Chrony Synchronization และการแก้ไขปัญหาทั่วไป
Hardware Clock (hwclock)
hwclock --localtime # แสดงเวลา Hardware (Local Time)
hwclock --utc # แสดงเวลา Hardware (UTC)
hwclock --systohc # Sync System Time → Hardware
hwclock --set --date "11 Oct 2020 17:30" # ตั้งเวลา Hardware แบบ Manual
ตั้งค่าเวลาแบบ Manual (System Clock)
date # แสดงเวลาปัจจุบัน
date MMDDhhmm # ตั้งเวลา (เช่น 10261740 = Oct 26 17:40)
timedatectl # แสดงข้อมูลละเอียด: Timezone, NTP, DST
timedatectl set-time '2020-10-11 17:51:00'
ตั้งค่า Timezone
วิธี 1: timedatectl
timedatectl set-timezone Asia/Bangkok
timedatectl list-timezones | grep -i bangkok
วิธี 2: tzdata (Symlink)
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Bangkok /etc/localtime
ติดตั้ง tzdata หากไม่มี: yum install tzdata -y
NTP Synchronization (CentOS 7 – ntpd)
yum install ntp -y
systemctl start ntpd
systemctl enable ntpd
# Edit /etc/ntp.conf
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
# Manual Sync
ntpdate 192.168.1.23
# หรือ Cron: ntpdate pool.ntp.org
Default: ntpd sync ทุก 11 นาที (11-minute mode)
Chrony (CentOS 8 – แทน ntpd)
dnf install chrony
systemctl start chronyd
systemctl enable chronyd
# Config /etc/chrony.conf
pool 2.centos.pool.ntp.org iburst
# CLI
chronyc tracking # Sync Status
chronyc sources # NTP Sources
chronyc sourcestats # Statistics
# Manual Time Set (ต้อง Stop Chronyd ก่อน)
systemctl stop chronyd
timedatectl set-time '2020-11-12 17:41:00'
systemctl start chronyd
ปัญหาที่พบบ่อยและแก้ไข
| Error | สาเหตุ | แก้ไข |
|---|---|---|
| ntpdate: the NTP socket is in use | ntpd/chronyd กำลังรันอยู่ | systemctl stop ntpd/chronyd ก่อน sync manual |
| Failed to set time: Automatic time synchronization is enabled | timedatectl NTP enabled | timedatectl set-ntp 0 แล้วค่อย set-time |
| Timezone symlink fail | tzdata ไม่ได้ติดตั้ง | yum install tzdata -y |
| ntpdate: Operation not permitted | Firewall บล็อก UDP 123 | เปิด UDP 123 ใน firewalld/iptables |
Best Practice: ใช้ Chrony (CentOS 8+) หรือ NTPD (CentOS 7) ให้ทำงานตลอดเวลา, ตั้ง Timezone ให้ถูกต้อง, Monitor ด้วย timedatectl status (NTP Service: active)