Là một người dùng Linux, bạn có thể quen thuộc với cron. Nó đã hoạt động như một công cụ lập kế hoạch công việc dựa trên thời gian của Unix trong nhiều năm. Bây giờ nhiều người dùng đang thấy Systemd giờ bắt đầu thay thế sự thống trị của cron.

Bài viết này sẽ thảo luận những điều cơ bản về cách thiết lập bộ hẹn giờ của riêng bạn và đảm bảo rằng bộ hẹn giờ chạy đúng trên hệ thống của bạn.

Tags : 4 lựa chọn thay thế cron hữu ích cho Linux

Cài đặt?

Nếu bạn đã sử dụng Systemd làm hệ thống init - nhiều bản phân phối Linux phổ biến chạy theo mặc định, bao gồm Arch, Debian, Fedora, Red Hat và Ubuntu - bạn sẽ thấy các bộ hẹn giờ đã được sử dụng. Không còn gì để làm ngoài việc sử dụng tính năng đó đã được cài đặt.

Liệt kê các bộ hẹn giờ hiện có

Cách dễ nhất bạn có thể kiểm tra xem một bộ đếm thời gian tồn tại trên máy tính của bạn là bằng lệnh:

 systemctl list-timers 

Bạn không cần phải chạy nó như là root.

 systemctl list-timers --all 

Tùy chọn --all ở đây cũng hiển thị các bộ định thời không hoạt động. Hiện không có bất kỳ bộ hẹn giờ không hoạt động nào trên hệ thống này.

Bạn sẽ tìm thấy một đầu ra tương tự như hình ảnh sau đây:

Bạn có thể xem ngày và giờ mỗi bộ hẹn giờ sẽ kích hoạt, đếm ngược cho đến thời điểm đó, thời gian đã trôi qua kể từ khi nó chạy lần cuối, tên đơn vị của bộ hẹn giờ và dịch vụ mà mỗi bộ hẹn giờ kích hoạt.

Tất cả bộ hẹn giờ phải được ghép nối với một dịch vụ tương ứng. Trong phần tiếp theo, bạn sẽ thấy cách tạo một tệp ".timer" kích hoạt tệp ".service".

Tạo bộ hẹn giờ mới

Bạn có thể tạo một bộ đếm thời gian mới bằng cách đặt một tệp .timer tùy chỉnh trong “/ etc / systemd / system /.” Khi tạo bộ hẹn giờ mới cho tệp dịch vụ DNS động DuckDNS của tôi, tôi đã kết thúc bằng văn bản này:

 [Đơn vị] Mô tả = Cập nhật duckdns DNS động [Timer] OnCalendar = * - * - * 11:43:00 Persistent = true [Cài đặt] WantedBy = timers.target 

1. Phần [Unit]

Tùy chọn “Mô tả =…” trong tệp cho bạn biết tên / mô tả của bộ hẹn giờ. Trong trường hợp này, “duckdns.timer” của tôi sẽ cập nhật DNS của tôi bằng cách yêu cầu tệp “duckdns.service” chạy một loạt các lệnh.

Bạn có thể thay đổi từ ngữ sau “Description =” để nói bất cứ điều gì bạn thích.

2. Phần [Timer]

“OnCalendar =…” ở đây cho thấy một cách kể cho bộ hẹn giờ khi nào cần kích hoạt. *-*-* là viết tắt của "Year-Month-Day, và các dấu hoa thị có nghĩa là nó sẽ chạy mỗi ngày mỗi tháng mỗi năm từ đây về phía trước. Thời gian sau dấu sao cho biết thời gian trong ngày mà bộ hẹn giờ sẽ chạy.

“Persistent = true” chỉ có nghĩa là bộ hẹn giờ sẽ tự động chạy nếu nó bị mất thời gian bắt đầu trước đó. Điều này có thể xảy ra vì máy tính đã bị tắt trước khi sự kiện diễn ra. Đây là tùy chọn nhưng được khuyến nghị.

3. [Cài đặt] phần

Cuối cùng, “WantedBy = timers.target” chỉ ra rằng Systemd timers.target sẽ sử dụng tệp .timer này. Dòng này trong tệp hiển thị chuỗi phụ thuộc từ tệp này sang tệp khác. Bạn không nên bỏ qua hoặc thay đổi dòng này.

Sự lựa chọn khác

Bạn có thể tìm thấy nhiều tính năng khác bằng cách quét trang man systemd.timer . Điều hướng đến phần "TÙY CHỌN" để khám phá các tùy chọn về độ chính xác, độ bền và chạy sau khi khởi động.

Chạy bộ hẹn giờ

Kích hoạt bất kỳ bộ hẹn giờ nào bạn đã tạo với cú pháp systemctl startsystemctl start .

 sudo systemctl cho phép duckdns.timer sudo systemctl khởi động duckdns.timer 

Xem lại tại systemctl list-timers để xem bộ hẹn giờ của bạn hoạt động.

Bạn có thể xem bộ hẹn giờ của bạn có chạy như mong đợi hay không bằng cách kiểm tra tệp dịch vụ tương ứng của nó với systemctl status . Trong trường hợp này, bạn có thể thấy rằng bộ đếm thời gian của tôi chạy lúc 11:43:00 như nó được cho là vậy.

Phần kết luận

Mặc dù nhiều chương trình của bên thứ ba, bao gồm DuckDNS, đi kèm với các tập lệnh cho phép chúng cập nhật khi cần thiết, tạo bộ hẹn giờ trong Systemd là một kỹ năng hữu ích để biết. Việc tạo một bộ đếm thời gian cho DuckDNS ở đây là không cần thiết, nhưng nó cho thấy các loại bộ đếm thời gian Systemd khác hoạt động như thế nào.

Kiến thức này sẽ hữu ích, ví dụ, để tạo và chạy các tập lệnh Bash của riêng bạn. Bạn thậm chí có thể sử dụng nó để thay đổi một bộ đếm thời gian hiện tại để phù hợp hơn với sở thích của bạn. Hơn nữa, nó luôn luôn là tốt để biết làm thế nào máy tính của bạn hoạt động, và kể từ khi Systemd điều khiển nhiều chức năng cơ bản, điều này một mảnh của câu đố có thể giúp bạn hiểu rõ hơn cách thức mà các sự kiện được kích hoạt mỗi ngày.

Cảm ơn bạn đã theo dõi. Chúc may mắn với việc tạo bộ đếm thời gian của riêng bạn.