Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

ตั้งค่า Date, Time, Timezone และ NTP Sync บน CentOS 7/8

คู่มือจัดการเวลาบน 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 usentpd/chronyd กำลังรันอยู่systemctl stop ntpd/chronyd ก่อน sync manual
Failed to set time: Automatic time synchronization is enabledtimedatectl NTP enabledtimedatectl set-ntp 0 แล้วค่อย set-time
Timezone symlink failtzdata ไม่ได้ติดตั้งyum install tzdata -y
ntpdate: Operation not permittedFirewall บล็อก UDP 123เปิด UDP 123 ใน firewalld/iptables

Best Practice: ใช้ Chrony (CentOS 8+) หรือ NTPD (CentOS 7) ให้ทำงานตลอดเวลา, ตั้ง Timezone ให้ถูกต้อง, Monitor ด้วย timedatectl status (NTP Service: active)