Crontab là gì? Lập lịch công việc trên Linux

0
crontab là gì

Trên hầu hết các hệ thống, bạn cần phải có “quyền” từ quản trị hệ thống trước khi có thể gửi bất kỳ job request nào tới cron. Trên một số hệ thống chia sẻ, bởi chỉ có một file crontab duy nhất, nên có chỉ quản trị viên mới có quyền truy cập lệnh crontab.

Cron là gì?

Cron là process được chạy trong một thời gian dài, được dùng để thực thi các lệnh tại các thời điểm cụ thể. Bạn có thể sử dụng lệnh này để lập lịch cho các hành vi, sự kiện chạy một lần hoặc theo định kỳ.

Trong đó, crontab viết tắt của từ “cron table” là danh sách các lệnh mà bạn muốn chạy theo lịch trình và cũng là tên lệnh được sử dụng để quản lý danh sách đó.

Xem thêm: process là gì

Để lập lịch cho các tác vụ chỉ chạy duy nhất một lần, ngoài crontab ra – chúng ta có thể sử dụng lệnh “at” hoặc “batch“.

Đối với các lệnh cần được thực thi lặp lại có chu kỳ (ví dụ: theo giờ, theo ngày và theo tháng), bạn có thể dùng lệnh crontab. Lệnh crontab sẽ tạo ra một file crontab chứa lệnh và các chỉ dẫn để cho cron daemon thực thi. Bạn có thể dùng lệnh crontab với các tùy chọn sau đây:

crontab -a filenameĐặt tên file crontab là filename. Trên nhiều hệ thống, lệnh này được thực thi đơn giản dưới dạng crontab filename (không cần tùy chọn -a)
crontab -eSửa file crontab hoặc tạo nếu như không tồn tại
crontab -lHiển thị file crontab
crontab -rXóa file crontab
crontab -v Hiển thị thời gian lần cuối cùng file crontab được chỉnh sửa.
crontab -u userĐược sử dụng cùng với các tùy chọn khác, cho phép bạn chỉnh sửa hoặc xem file contab của user. Chỉ người quản trị mới có thể sử dụng tính năng này.

Mỗi mục trong file crontab tồn tại 6 trường, được chỉ ra cụ thể theo thứ tự sau đây:

minute(s) hour(s) day(s) month(s) weekday(s) command(s)

Các trường được chia tách bởi dấu cách hoặc tab. 5 trường đầu tiên là dạng số nguyên và trường thứ 6 là “lệnh sẽ được thực thi“. Bảng dưới đây mô tả thông tin chi tiết mỗi trường của file crontab.

Trường Giá trị Mô tả
minute 0-59 Số phút chính xác mà lệnh sẽ được thực thi
hour 0-23 Giờ trong ngày lệnh sẽ được thực thi
day 1-31 Ngày trong tháng lệnh sẽ được thực thi
month 1-12 Tháng trong năm mà lệnh sẽ được thực thi
weekday 0-6 Ngày trong tuần lệnh sẽ được thực thi (Chủ nhật = 0, Thứ hai = 1, thứ ba = 2,…)
command Special Lệnh cần thực thi.

Mỗi giá trị từ 5 mục nhập đầu tiên ở trên có thể là “*“, nghĩa là đúng với tất cả giá trị ở bảng mô tả phía trên. Ví dụ:

0 0 1,15 * 1 /opt/myprogram

Ở file crontab trên, cron daemon sẽ chạy chương trình myprogram trong thư mục /opt vào phút thứ 0, giờ thứ 0, ngày 1 và 15, tất cả các tháng và mỗi ngày thứ 2 trong tuần.

Để xem thêm thông tin chi tiết về lệnh crontab bạn có thể sử dụng lệnh “man” để biết thêm thông tin.

man crontab
man cron
man at
man batch
5/5 (1 Review)