Khi cài đặt một server mới, bạn thường phải đặt thời gian ngày giờ. Trong một số trường hợp nhất định, bạn có thể cần đổi múi giờ. Vì set timezone CentOS sai có thể dẫn ảnh hưởng đến việc ghi logs và xuất báo cáo của server.
Ngoài việc ảnh hưởng đến việc ghi nhật ký (log) và báo cáo (report), timezone cũng có thể ảnh hưởng tới các tác vụ tự động và crontab. Việc chỉnh sai múi giờ có thể dẫn đến chạy tiến trình vào thời điểm không như mong muốn.
Làm thế nào để kiểm tra timezone trên CentOS 7
Đầu tiên, bạn cần truy cập vào máy VPS qua SSH trước. Nếu gặp vấn đề, hãy tham khảo hướng dẫn đăng nhập bằng PuTTY của chúng tôi.
Bạn có thể kiểm tra time zone hiện tại bằng lệnh date như sau:
date
Nó sẽ xuất kế quả theo cấu trúc:
Fri Mar 15 14:52:20 UTC 2019
Ngoài ra, bạn cũng có thể dùng lệnh timedatectl. Lệnh này có thể:
- Xem lại ngày và thời gian
- Đổi ngày giờ
- Thiết lập timezone của máy
- Kích hoạt tự động đồng bộ dựa trên một máy chủ khác từ xa
Cú pháp cơ bản như sau:
timedatectl
Kết quả bạn sẽ thấy là:
Local time: Fri 2019-03-15 14:54:51 UTC Universal time: Fri 2019-03-15 14:54:51 UTC RTC time: n/a Time zone: Host (UTC, +0000) NTP enabled: n/a NTP synchronized: yes RTC in local TZ: no DST active: n/a
Đây là những thông tin như thời gian máy, universal time, và timezone.
Liệt kê Timezones trên CentOS 7
Sau khi đã biết timezone hiện tại, bạn có thể thử liệt kê toàn bộ timezone có thể chỉnh trên máy. Bên dưới là lệnh để liệt kê timezone:
timedatectl list-timezones
Bạn sẽ thấy một danh sách khá dài theo thứ tự alphabe. Bạn chỉnh lại lệnh search của mình bằng cách thêm bộ lọc grep. Ví dụ như sau:
timedatectl list-timezones | grep Pacific
Làm thế nào set Timezone CentOS 7
Sau khi có danh sách timzeone, bạn có thể đặt theo ý thích. Để set timezone CentOS 7, bạn dùng lệnh:
timedatectl set-timezone America/Chicago
Thay thế múi giờ theo ý bạn. Tại đây bạn cũng có thể thiết lập ngày giờ nhất định theo cú pháp:
timedatectl set-time 'YYYY-MM-DD HH:MM:SS'
Ví dụ, nếu bạn muốn set thời gian là Mar-16-2019 và giờ hiện tại là 09:20:00, bạn có thể dùng lệnh:
timedatectl set-time '2019-03-16 09:20:00'
Sau khi thực hiện tahy đổi, bạn có thể kiểm tra lại timezone bằng lệnh timedatectl.
Làm thế nào để chỉnh giờ hardware trên CentOS 7
Hardware clock (đồng hồ phần cứng) khác với giờ hệ thống được quản lý bởi hệ điều hành, thuộc nhân Linux. Nó cũng được gọi là BIOS clock. Hardware clock sẽ được kích hoạt khi hệ điều hành bị tắt. Bằng lệnh Linux, bạn có thể thiết lập hardware clock.
Để kiểm tra hardware clock được đặt vào múi giờ nào, dùng lệnh sau:
timedatectl | grep local
Kết quả sẽ như bên dưới, có nghĩa hardware clock không có múi giờ nhất định:
RTC in local TZ: no
Tiếp theo, để chỉnh hardware clock khớp với local time zone, bạn dùng lệnh:
timedatectl set-local-rtc 1
Để đảo nghịch thay đổi, bạn có thể dùng lệnh:
timedatectl set-local-rtc 0
Làm thế nào để đồng bộ đồng hồ trong CentOS 7
Network Time Protocol (NTP) là một giao thức internet thường được dùng để đồng bộ thời gian hệ thống giữa các máy tính khác nhau. Lệnh timedatectl có thể cấu hình múi giờ tự động thay đổi theo một server remote qua NTP.
Để kích hoạt việc này, bạn cần cài NTP lên máy. Sau đó có thể khởi động quá trình đồng bộ giờ internet như sau:
timedatectl set-ntp true
Nếu muốn thay đổi quay ngược lại, bạn dùng lệnh sau, nó sẽ vô hiệu đồng bộ:
timedatectl set-ntp false
Để thay đổi timezone của VPS CentOS theo đúng múi giờ Việt Nam, các bạn hãy thực hiện như sau:
– Kiểm tra múi giờ hiện tại:
# date
– Cập nhật lại timezone sang Asia/Ho_Chi_Minh:
# rm -f /etc/localtime # ln -s /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime
Ngoài ra, bạn có thể lựa chọn các timezone khác tại /usr/share/zoneinfo/
hoặc tham khảo Database Timezones
– Đồng bộ Network Time Protocol NTP về server Việt Nam:
Cài đặt NTP
# yum install -y ntpdate
Đồng bộ NTP server Việt Nam
# ntpdate vn.pool.ntp.org
Tuy vậy, hiện tại chỉ có 4 servers tại Việt Nam nên bạn có thể cân nhắc sử dụng server Asia
# ntpdate asia.pool.ntp.org
Danh sách các servers bạn tham khảo tại: NTP Pool Servers