Lệnh tự động cập nhật ngày giờ linux

Ngày và giờ chính xác trên hệ thống không chỉ cho bạn biết thời gian mà còn cho phép bạn thực hiện các tác vụ tự động như mong muốn và kết nối với các dịch vụ qua internet một cách liền mạch.

Hướng dẫn này sẽ chỉ cho bạn cách xem lại, điều chỉnh và định cấu hình ngày giờ trên Linux từ dòng lệnh (command line) bằng lệnh timedatectl.

Thời gian được quản lý như thế nào trên Linux?

Để giữ thời gian chính xác, Linux sử dụng hai loại đồng hồ khác nhau:

  • Đồng hồ thời gian thực (real-time clock, hay RTC) hoặc đồng hồ phần cứng được tích hợp vào bảng mạch của máy tính và chạy độc lập với hệ điều hành. Đồng hồ vẫn chạy ngay cả khi hệ điều hành của bạn đang tắt, khởi động lại hoặc ở chế độ ngủ đông (hibernate).
  • Đồng hồ hệ thống, còn được gọi phổ biến là đồng hồ phần mềm. Được duy trì bởi hạt nhân Linux (Linux kernel), đồng hồ hệ thống phụ thuộc vào đồng hồ thời gian thực để lấy thời gian ban đầu khi hệ điều hành Linux khởi động.

Theo mặc định, giờ hệ thống của bạn được giữ ở định dạng Giờ Phối hợp Quốc tế (Universal Coordinated Time, hay UTC) . Sau đó, hệ thống Linux sẽ chuyển đổi giờ UTC thành giờ địa phương chính xác dựa trên khu vực hoặc múi giờ của bạn. Giờ địa phương là những gì được hiển thị trên màn hình nền.

Liệt kê thông tin ngày và giờ

Một trong những tác vụ quan trọng nhất mà bạn có thể thực hiện khi định cấu hình thời gian trên Linux là có thể liệt kê và xem lại thời gian hiện tại trên hệ thống của mình.

Để hiển thị thời gian và các thông số cấu hình khác, chỉ cần chạy lệnh timedatectl mà không có bất kỳ tham số nào như sau:

timedatectl

Lệnh hiển thị giờ địa phương của hệ thống, giờ UTC và đồng hồ thời gian thực. Múi giờ và các thông số quan trọng khác liên quan đến thời gian cũng được liệt kê trong đầu ra (output).

Cách điều chỉnh thời gian trên Linux

Để đặt hoặc thay đổi thời gian, hãy sử dụng lệnh timedatectl cùng với lệnh con (subcommand) set-time .

sudo timedatectl set-time hh:mm:ss

Lưu ý : Bạn cần có các đặc quyền nâng cao để điều chỉnh ngày hoặc giờ.

Trong lệnh nói trên, hh là giờ, mm là phút và ss là giây. Thời gian bạn chỉ định phải ở định dạng 24 giờ.

Ví dụ: để đặt thời gian thành 12 giờ đêm, hãy chạy lệnh sau:

sudo timedatectl set-time 00:00:00

Lệnh cập nhật cả đồng hồ thời gian thực và đồng hồ hệ thống. Tuy nhiên, bạn sẽ không thể thay đổi ngày giờ nếu Giao thức thời gian mạng (Network Time Protocol, hay NTP) được bật trên hệ thống của bạn.

Cách bật/tắt NTP

Giao thức thời gian mạng giúp bạn đảm bảo rằng thời gian của bạn được đồng bộ hóa với máy chủ từ xa dựa trên múi giờ hoặc khu vực của bạn.

Để tắt NTP trên Linux, hãy chạy lệnh sau:

sudo timedatectl set-ntp false

Để kích hoạt lại hoặc bật NTP, chỉ cần chạy:

sudo timedatectl set-ntp true

Sau khi được kích hoạt, hệ thống sẽ tự động điều chỉnh và đồng bộ thời gian với thời gian máy chủ đã cấu hình.

Lưu ý : Lệnh con set-ntp sẽ không hoạt động nếu hệ thống của bạn không hỗ trợ NTP.

Cách đặt ngày trên Linux

Để thay đổi ngày trên máy tính của bạn, bạn có thể chạy lệnh timedatectl với lệnh con set-time ở định dạng sau:

sudo timedatectl set-date YYYY-MM-DD

… trong đó YYYY là năm, MM là tháng và DD là ngày.

Ví dụ, để thay đổi ngày thành ngày 1 tháng 1 năm 2000, hãy sử dụng lệnh sau:

sudo timedatectl set-time "2000-01-01 23:00:01"

Lưu ý rằng chúng tôi cũng đã chỉ định thời gian vì khi bạn chỉ xác định ngày, thời gian sẽ tự động đặt thời gian thành 00:00 tức 12 giờ đêm.

Thay đổi múi giờ của bạn

Trước khi bạn có thể tiếp tục và thay đổi múi giờ trên PC của mình, điều quan trọng là bạn phải biết cách liệt kê hoặc xem các múi giờ có sẵn. 

timedatectl list-timezones

Sử dụng phím F trên bàn phím của bạn để kéo về phía trước và phím B để kéo ngược qua các múi giờ được liệt kê. Ngoài ra, bạn có thể sử dụng các phím mũi tên để kéo.

Khi bạn xác định được múi giờ của mình, chẳng hạn như bạn có thể chuyển sang múi giờ Châu Phi/Blantyre bằng cách sử dụng lệnh sau:

timedatectl set-timezone Africa/Blantyre

Hiểu thêm về dòng lệnh

Để tìm hiểu thêm về timedatectl, hãy sử dụng lệnh sau:

timedatectl help

Để biết toàn diện hơn về lệnh, bạn có thể kiểm tra các trang người dùng của nó bằng cách chạy:

man timedatectl

Tiện ích đồng hồ thời gian thay thế trên Linux

Hướng dẫn này đã chỉ cho bạn cách định cấu hình ngày và giờ trên Linux bằng tiện ích timedatectl, một tính năng điều chỉnh đồng hồ mạnh mẽ và hiện đại đi kèm như một phần của dịch vụ systemd. Các tiện ích cấu hình đồng hồ truyền thống khác trên Linux là các lệnh hwclock và date.

Dịch từ: https://www.makeuseof.com/how-to-set-date-and-time-linux/

Vân Nguyễn