Crontab được biết đến là một loại dịch vụ giúp cho người dùng có thể thực hiện được những task đã được lên lịch sẵn. Chúng sẽ giúp bạn cải thiện một cách đáng kể hiệu suất khi làm việc. Vậy, để sử dụng Crontab Linux một cách hiệu quả phải làm như thế nào? Hãy cùng Muakey tham khảo bài viết dưới đây để biết cách thực hiện nhé!
Crontab là gì?
Crontab chính là một cách để tạo và thực hiện chạy các lệnh dựa theo một chu kỳ xác định nào đó. Đây là một tiện ích giúp cho người dùng lập lịch trình với mục đích chạy các dòng lệnh từ phía server để nhằm thực thi một hoặc nhiều hơn các công việc theo một khung thời gian đã được thiết lập sẵn.

Cách thức hoạt động của Crontab
Về cách thức hoạt động, một cron schedule đơn giản chính là một text file. Mỗi một người dùng đều sẽ có cho mình một cron schedule riêng. File này thường sẽ nằm ở vị trí /var/spool/cron. Ngoài ra, Crontab files sẽ không cho phép người dùng tạo hoặc thực hiện chỉnh sửa trực tiếp đối với bất cứ trình text editor nào. Ngoại trừ việc bạn sử dụng lệnh crontab.
Một số lệnh crontab mà bạn thường dùng như sau:
– crontab -e: Đây là lệnh tạo hoặc chỉnh sửa file crontab
– crontab -l: Đây là lệnh hiển thị file crontab
– crontab -r: Đây là lệnh xóa file crontab
Hầu hết các VPS đều sẽ được cài sẵn ở trình crontab. Nhưng, vẫn sẽ có những trường hợp cụ thể mà VPS không có. Nếu bạn sử dụng lệnh “crontab -1” mà nhìn thấy output trả lại là -bash: crontab: command not found, điều này có nghĩa là bạn cần phải tự thực hiện việc cài đặt thủ công.

Hướng dẫn sử dụng Crontab Linux
Trên thị trường có rất nhiều bản phân phối của Linux. Với những lệnh trong bài, bạn vẫn có thể áp dụng được cho những bản phân phối khác hoặc dùng phương pháp “bí mật” chúng tôi sẽ hướng dẫn cuối bài để bạn không cần biết code vẫn có code Crontab để dùng!
Điều kiện để sử dụng
Để sử dụng được Crontab, bạn sẽ cần phải đáp ứng được những yêu cầu tối thiểu như sau:
- Hệ điều hành Ubuntu 18.04 trở lên và có thể là máy cục bộ của bạn, máy ảo hoặc máy chủ riêng.
- Người dùng với quyền với quyền root hoặc quản trị viên cao cấp
Hướng dẫn cài đặt Crontab
Phần lớn các bản phân phối của Linux đều có sẵn các dạng cron cài đặt theo mặc định. Trong trường hợp bạn sử dụng Ubuntu và chưa cài đặt cron, bạn có thể cài đặt bằng APT lần lượt từng lệnh như sau:
- sudo apt update
- sudo apt install cron
- sudo systemctl enable cron
Nếu kết quả trả về trên màn hình của bạn là:
- Synchronizing state of cron.service with SysV service script with /lib/systemd/systemd-sysv-install.
- Executing: /lib/systemd/systemd-sysv-install enable cron
Vậy, xin chúc mừng bạn đã thực hiện cài đặt Crontab trên Ubuntu thành công!
Cách sử dụng Crontab
Tiếp nối phần “Crontab hoạt động ra sao?”, chúng ta sẽ có một bảng chứa các giá trị trong công thức để bạn có thể áp dụng được như sau:
Trường dữ liệu | Giá trị cho phép sử dụng |
---|---|
phút | 0-59 |
giờ | 0-23 |
Ngày trong tháng | 1-31 |
tháng | 1-12 hoặc JAN-DEC |
Ngày trong tuần | 0-6 hoặc SUN-SAT |
Để sử dụng, bạn chỉ cần áp dụng những giá trị trên vào cấu trúc:
Phút – giờ – ngày – trong tháng – tháng – ngày trong tuần – lệnh để chạy
Ngoài ra, bạn có thể tham khảo thêm một số ví dụ như sau:
- * * * * * – Chạy lệnh mỗi phút.
- 12 * * * * – Chạy lệnh 12 phút sau mỗi giờ.
- 0,15,30,45 * * * * – Chạy lệnh sau mỗi 15 phút.
- */15 * * * * – Chạy lệnh sau mỗi 15 phút.
- 0 4 * * * – Chạy lệnh mỗi ngày vào lúc 4:00 sáng.
- 0 4 * * 2-4 – Chạy lệnh vào lúc 4:00 sáng Thứ Ba, Thứ Tư và Thứ Năm hàng tuần.
- 20,40 */8 * 7-12 * – Chạy lệnh vào các phút 20, 40 của giờ thứ 8 hàng ngày của 6 tháng cuối năm từ tháng 7 cho đến hết tháng 12.
Lưu ý: bài viết này được viết vào tháng 12 năm 2022, nếu có thay đổi trong tương lai hoặc bạn không thể áp dụng các lệnh này cho phiên bản Crontab cũ hơn.
Quản lý đầu ra công việc của Crontab
Hầu hết tiến trình của Crontab sẽ thực hiện dưới nền. Do đó, nếu muốn kiểm tra lệnh đã thực hiện hay chưa, có lỗi gì xảy ra hay không sẽ là cả một vấn đề với người dùng phổ thông.
Tuy nhiên, chúng ta có thể sử dụng Crontab để báo cáo về việc Crontab làm thông qua email đấy!
Nhưng trước tiên, bạn sẽ cần phải có một email server hoặc dịch vụ mail transfer đã cài đặt sẵn vào trong hosting/ server của bạn.
Sau đó, bạn chỉ cần thêm lệnh:
- MAILTO=”thunghiem@tino.org”
Cùng các nội dung cần thiết để báo cáo cho bạn biết nhé! Thật quá tiện lợi đúng không nào?
Một số cú pháp đặc biệt trong Crontab
Để công việc đơn giản hơn, viết code dễ dàng hơn, chúng tôi đã có tổng hợp một số lệnh viết tắt thay thế cho câu lệnh của Crontab để bạn sử dụng như sau:
Lệnh viết tắt | Viết tắt cho lệnh |
---|---|
@hourly | 0 * * * * |
@daily | 0 0 * * * |
@weekly | 0 0 * * 0 |
@monthly | 0 0 1 * * |
@yearly | 0 0 1 1 * |
@reboot | lệnh chạy khi máy chủ khởi động |
Cách để tạo lệnh Crontab siêu nhanh
Bạn đang gấp hoặc không thích tìm hiểu nội dung dài dòng và bạn đã “skip” cả đoạn trên để đọc phần này? Vậy, bạn chỉ cần truy cập vào Crontab guru và nhập theo chỉ dẫn là code Crontab đã có sẵn cho bạn copy!
Ví dụ, bạn muốn đặt thời gian là vào lúc 22:00 vào tất cả các ngày trong tuần từ thứ Hai đến thứ Sáu, chúng ta sẽ có code Crontab như sau:
- 0 22 * * 1-5

Ngoài ra, bạn còn có thể sử dụng Crontab guru để kiểm tra xem lệnh của bạn viết ra đã đúng hay chưa và họ có phần mô tả thông tin phía trên để bạn kiểm chứng.
Tạm kết
Vậy là chúng ta vừa cùng tìm hiểu xong Hướng dẫn cài đặt và sử dụng Crontab Linux chi tiết rồi đấy. Thật tuyệt vời phải không nào?
Chúc các bạn có cho mình sự lựa chọn tốt nhất và hiệu quả nhất!
Và nếu như các bạn có nhu cầu mua bất kỳ phần mềm gì, xin vui lòng với Muakey chúng tôi qua hotline: 0935.555.597
Trân Trọng!
Nguồn tồng hợp: Nhiều nguồn