Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh rdate
để đồng bộ hóa thời gian hệ thống Linux của bạn với một máy chủ Network Time Protocol (NTP) từ xa. Lab bao gồm việc hiểu lệnh rdate
, đồng bộ hóa thời gian hệ thống với một máy chủ NTP từ xa và tự động hóa quá trình đồng bộ hóa thời gian bằng Cron. Lab này được thiết kế để giúp bạn quản lý và duy trì thời gian hệ thống chính xác trên các hệ thống dựa trên Linux của bạn.
Lab bắt đầu bằng cách giải thích lệnh rdate
và cách nó có thể được sử dụng để đặt đồng hồ hệ thống bằng cách truy xuất thời gian hiện tại từ một máy chủ NTP từ xa. Sau đó, bạn sẽ học cách đồng bộ hóa thời gian hệ thống của bạn với một máy chủ NTP từ xa, chẳng hạn như time.nist.gov
, và xác minh thời gian đã cập nhật. Cuối cùng, lab bao gồm việc tự động hóa quá trình đồng bộ hóa thời gian bằng Cron, một trình lên lịch công việc dựa trên thời gian, để đảm bảo đồng hồ hệ thống của bạn luôn chính xác.
Tìm hiểu lệnh rdate
Trong bước này, bạn sẽ tìm hiểu về lệnh rdate
, được sử dụng để đồng bộ hóa thời gian hệ thống với một máy chủ Network Time Protocol (NTP) từ xa.
Lệnh rdate
là một công cụ cho phép bạn đặt đồng hồ hệ thống trên một hệ điều hành Linux hoặc Unix-like bằng cách truy xuất thời gian hiện tại từ một máy chủ từ xa. Điều này hữu ích khi đồng hồ hệ thống của bạn không chính xác hoặc cần được đồng bộ hóa với một nguồn thời gian tham chiếu.
Để sử dụng lệnh rdate
, chỉ cần chạy lệnh sau trong terminal của bạn:
sudo rdate -s time.nist.gov
Điều này sẽ đặt đồng hồ hệ thống thành thời gian hiện tại được cung cấp bởi máy chủ NTP time.nist.gov
.
Ví dụ đầu ra:
Thu Jan 1 00:00:00 UTC 2023
Tùy chọn -s
cho rdate
biết đặt đồng hồ hệ thống thành thời gian nhận được từ máy chủ từ xa. Bạn có thể sử dụng bất kỳ máy chủ NTP nào có thể truy cập được vào hệ thống của bạn, chẳng hạn như pool.ntp.org
hoặc một máy chủ được cung cấp bởi tổ chức của bạn.
Để xác minh thời gian hệ thống hiện tại, bạn có thể sử dụng lệnh date
:
date
Ví dụ đầu ra:
Thu Jan 1 00:00:00 UTC 2023
Như bạn có thể thấy, thời gian hệ thống đã được cập nhật để phù hợp với thời gian được cung cấp bởi máy chủ NTP từ xa.
Đồng bộ hóa thời gian hệ thống với máy chủ NTP từ xa
Trong bước này, bạn sẽ học cách đồng bộ hóa thời gian hệ thống của bạn với một máy chủ NTP từ xa bằng lệnh rdate
.
Trước tiên, hãy kiểm tra thời gian hệ thống hiện tại:
date
Ví dụ đầu ra:
Thu Jan 1 00:00:00 UTC 2023
Bây giờ, hãy đồng bộ hóa thời gian hệ thống với máy chủ NTP time.nist.gov
:
sudo rdate -s time.nist.gov
Ví dụ đầu ra:
Thu Jan 1 00:00:00 UTC 2023
Để xác minh rằng thời gian hệ thống đã được cập nhật, hãy chạy lại lệnh date
:
date
Ví dụ đầu ra:
Thu Jan 1 00:00:00 UTC 2023
Như bạn có thể thấy, thời gian hệ thống đã được đồng bộ hóa với máy chủ NTP từ xa.
Bạn cũng có thể sử dụng lệnh ntpdate
để đồng bộ hóa thời gian hệ thống với một máy chủ NTP. Lệnh ntpdate
tương tự như rdate
, nhưng nó cung cấp các tùy chọn nâng cao hơn để đồng bộ hóa thời gian. Đây là một ví dụ:
sudo ntpdate time.nist.gov
Ví dụ đầu ra:
1 Jan 00:00:00 ntpdate[12345]: adjust time server 192.168.1.100 offset 0.123456 sec
Lệnh ntpdate
điều chỉnh thời gian hệ thống dựa trên độ lệch từ máy chủ NTP từ xa, cung cấp khả năng đồng bộ hóa thời gian chính xác hơn.
Tự động hóa đồng bộ hóa thời gian với Cron
Trong bước này, bạn sẽ học cách tự động hóa quá trình đồng bộ hóa thời gian bằng trình lập lịch Cron.
Cron là một trình lên lịch công việc dựa trên thời gian trong các hệ điều hành Unix-like, cho phép bạn chạy các tập lệnh hoặc lệnh theo các khoảng thời gian cụ thể. Bằng cách thiết lập một công việc Cron để thường xuyên đồng bộ hóa thời gian hệ thống, bạn có thể đảm bảo rằng đồng hồ hệ thống của bạn luôn chính xác và cập nhật.
Trước tiên, hãy tạo một tập lệnh sẽ đồng bộ hóa thời gian bằng lệnh rdate
:
sudo nano ~/project/sync_time.sh
Thêm nội dung sau vào tập lệnh:
#!/bin/bash
sudo rdate -s time.nist.gov
Lưu và thoát tệp.
Tiếp theo, làm cho tập lệnh có thể thực thi:
chmod +x ~/project/sync_time.sh
Bây giờ, hãy thiết lập một công việc Cron để chạy tập lệnh mỗi giờ:
sudo crontab -e
Thêm dòng sau vào crontab:
0 * * * * /home/labex/project/sync_time.sh
Điều này sẽ chạy tập lệnh sync_time.sh
mỗi giờ (phút thứ 0 của mỗi giờ).
Để xác minh rằng công việc Cron đang chạy, bạn có thể kiểm tra nhật ký hệ thống:
sudo tail -n 10 /var/log/syslog
Tìm các mục liên quan đến lệnh rdate
, mục này sẽ cho biết rằng quá trình đồng bộ hóa thời gian đang diễn ra theo lịch trình.
Tóm tắt
Trong lab này, bạn đã học về lệnh rdate
, được sử dụng để đồng bộ hóa thời gian hệ thống với một máy chủ Network Time Protocol (NTP) từ xa. Đầu tiên, bạn đã hiểu cách sử dụng cơ bản của lệnh rdate
, bao gồm cách đặt đồng hồ hệ thống bằng một máy chủ NTP từ xa như time.nist.gov
. Sau đó, bạn đã học cách xác minh thời gian hệ thống đã cập nhật bằng lệnh date
. Ngoài ra, bạn đã khám phá lệnh ntpdate
thay thế để đồng bộ hóa thời gian hệ thống với một máy chủ NTP.