Cách lên lịch và các ví dụ về Cron Job trong Linux

Tác giả NetworkEngineer, T.Một 05, 2022, 09:49:05 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách lên lịch và các ví dụ về Cron Job trong Linux


Cron là một chương trình hệ điều hành dựa trên Linux, lên lịch công việc tùy thuộc vào một số thời gian cụ thể. Người dùng Unix - Giống như các hệ điều hành có thể sử dụng Cron để lên lịch thực hiện các lệnh hoặc chương trình tại một thời điểm và ngày cụ thể. Nhiệm vụ cron (cron) hoạt động thường xuyên vào những thời điểm, ngày tháng và khoảng thời gian định trước. Nó thường được sử dụng cho các tác vụ quản trị máy như sao lưu và dọn dẹp thư mục. Quy trình được lên kế hoạch là đối tác của Windows. Cron có thể được sử dụng để lập lịch cho bất kỳ quá trình lặp lại nào.

Trong Ubuntu, thư mục crontab ghi lại các công việc cron. Crontab là một tài liệu cấu hình bao gồm các chi tiết về thời gian và các lệnh hoặc tập lệnh sẽ được chạy. Bài viết này sẽ giải thích cách lên lịch các công việc cron trong Ubuntu 20.04 bằng một số ví dụ đơn giản. Vì vậy, hãy có một khởi đầu mới.

1. Cài đặt Cron

Đảm bảo cập nhật hệ thống của bạn trước bất kỳ tác vụ nào. Lệnh apt được ưu tiên sử dụng để cập nhật hệ thống, theo sau là mật khẩu sudo. Nó đã được hiển thị trong hình ảnh đính kèm.


Bây giờ, cùng một gói apt sẽ được sử dụng để cài đặt tiện ích cron trong hệ thống của chúng ta. Lệnh sử dụng từ khóa "cron" sau từ "install" như hình dưới đây và bắt đầu cài đặt nó.


Sau khi cài đặt thành công, bạn cần khởi động tiện ích cron bằng cách sử dụng lệnh hệ thống, tức là từ khóa systemctl với "start" và đề cập đến tên của tiện ích tức là cron. Sau khi khởi động nó, hãy kích hoạt dịch vụ cron và bạn sẽ nhận được đầu ra được hiển thị bên dưới.


Sau đó, bạn có thể kiểm tra trạng thái của một dịch vụ cron bằng cách sử dụng lệnh systemctl với từ khóa thứ "status". Đầu ra lệnh hiển thị rằng dịch vụ cron hiện đang hoạt động.


Như mình đã đề cập trước đó, tập tin crontab đã được sử dụng để kiểm tra các công việc cron đã được lên lịch cho một hệ thống cụ thể. Do đó, chúng ta sẽ sử dụng lệnh crontab với cờ "-l" để liệt kê tất cả các công việc cron đã lên lịch trên hệ thống của chúng ta. Hiện tại, không có cron job nào như hình bên dưới.


Như chúng ta đã biết, tập tin crontab là tập tin cấu hình để lập lịch công việc cron. Vì vậy, chúng ta sẽ sử dụng nó để lên lịch một số công việc. Chúng ta sẽ xem xét tập tin cấu hình crontab và cú pháp mà nó hiển thị cho chúng ta để lập lịch. Tập tin crontab cấu hình nằm trong thư mục "etc" và có thể được khởi chạy trong trình soạn thảo GNU Nano bằng cách sử dụng truy vấn bên dưới.


Chúng ta sẽ không nhận được màn hình xuất này của tập tin crontab sau đó. Giá trị số nguyên đầu tiên hiển thị phút, thứ 2 hiển thị giờ, thứ 3 hiển thị ngày trong tháng, thứ 4 hiển thị tên tháng và thứ 5 hiển thị tuần.


Một phương pháp khác cũng có thể được sử dụng để mở tập tin cấu hình crontab. Đó là một lệnh đơn giản gồm 1 từ sử dụng cờ "-e" như hình dưới đây. Nó sẽ cho bạn biết rằng không có công việc cron đã lên lịch ngay bây giờ và yêu cầu bạn nhập 1,2,3 theo nhu cầu. Nhập 1 để mở nó trong trình chỉnh sửa Nano.


Hãy mở lại tập tin cấu hình crontab bằng lệnh nano editor.


Bạn cũng có thể sử dụng lệnh crontab được hiển thị bên dưới để mở tập tin.


Một lần khác, khi chúng ta đã mở tập tin cấu hình crontab trong trình chỉnh sửa nano, kết quả được hiển thị bên dưới. Nó sẽ được chiếu ngay từ bây giờ tại mọi thời điểm khai mạc. Bạn có thể xóa tất cả các bình luận và bắt đầu viết cron job.


2. Ví dụ cho Cron Jobs

Vì công việc cron giúp chúng ta bảo mật hệ thống của mình và tạo bản sao lưu, vì vậy chúng ta sẽ xem xét một vài ví dụ. Trong các ví dụ này, chúng ta sẽ sử dụng một số tập lệnh bash được lưu trữ trong tập tin "sleep.sh" để được thực thi tại một thời điểm cụ thể trong hệ thống của chúng ta. Nếu bạn muốn tập lệnh của mình chạy 12 giờ một lần, hãy thử sử dụng lệnh hiển thị bên dưới, theo sau là đường dẫn tập tin tập lệnh. Số 0 đại diện cho không có phút.


Giả sử bạn muốn tập lệnh của mình hoạt động 5 phút một lần, bạn phải sử dụng "/" với giá trị "5" ở vị trí đầu tiên của lệnh trong khi tất cả các giá trị vẫn là "*".


Nếu bạn muốn chỉ định thời gian chính xác mà tập lệnh phải được thực thi, thì bạn phải tránh sử dụng "*/" với giá trị. Vì vậy, chúng ta sẽ sử dụng giá trị 2 cho 2 giờ sáng để lập lịch công việc này.


Nếu bạn muốn lên lịch thực thi tập tin script lúc 2 giờ chiều, thì bạn phải sử dụng định dạng 24 giờ. Như bạn có thể thấy, chúng ta đã thay thế 2 bằng 14 ở đây.


Giả sử một người dùng muốn thực thi tập tin "sleep.sh" hàng ngày vào lúc 12:30 sáng, họ cần sử dụng định dạng được hiển thị bên dưới của lệnh cron.


Nếu người dùng muốn thực thi tập tin script của mình mỗi phút, họ cần thay thế tất cả các số bằng dấu "*" như trong hình bên dưới.


Nếu người dùng muốn thực thi tập tin script của mình tại một số thời điểm cụ thể của một ngày cụ thể, họ phải thay thế dấu "*" thứ 2 và thứ 5 bằng các giá trị tức là 2 giờ sáng và thứ bảy như hình minh họa.


Để đề cập đến "ngày" và "tháng" cụ thể, bạn cần thay thế "*" thứ 3 và 4 bằng giá trị. Lệnh cho thấy rằng tập lệnh sẽ chạy vào ngày thứ 5 của tháng 1, tháng 6, tháng 7 lúc 1 giờ sáng.


Thay vì sử dụng số hoặc "*", chỉ cần thay dấu "@" bằng các giá trị như được minh họa.


Đây là lệnh liệt kê các công việc cron đã lên lịch, tức là cờ "-l".


Để xóa tất cả các công việc cron đã lên lịch khỏi crontab, hãy sử dụng cờ "-r" trong lệnh. Bạn sẽ thấy rằng lệnh danh sách sẽ hiển thị rằng không có công việc đã lên lịch như bên dưới.


Bài viết này giải thích về tiện ích cron để lập lịch công việc trong Ubuntu 20.04. Có rất nhiều lệnh đơn giản khác được sử dụng trong tập tin cấu hình crontab để lập lịch nhưng mình đã cố gắng đề cập đến những lệnh quan trọng. Mình hy vọng bài này sẽ hữu ích cho bạn.