#

Cron Job là gì? Cách thiết lập Cron Job trong Linux

 19/05/2022 - 09:11 Trịnh Duy Thanh

Cron là một công cụ hẹn giờ có công dụng rất lớn cho phép người dùng lên lịch các lệnh và chạy chúng một cách thường xuyên trên hệ thống Linux. Bạn có thể tạo Cron Job bằng lệnh crontab để chạy một ứng dụng hay thực thi một script bất kỳ. Để xây dựng các ứng dụng trên máy chủ Linux bằng công cụ Cron thông qua lệnh crontab như thế nào? Câu trả lời sẽ có ngay sau đây.

Cron Job là gì?

Cron là chương trình được tích hợp sẵn trong hệ thống Linux, cho phép chạy các lệnh tự động tại một thời điểm cụ thể.

Cron Jobs là một tập hợp các lệnh và tập lệnh thực thi theo lịch trình có sẵn. Các nhà quản trị lựa chọn công cụ này để tự động hóa các tác vụ sao lưu, dọn dẹp thư mục, thông báo trên hệ điều hành Linux.

Dịch vụ Gmail theo tên miền riêng cho doanh nghiệp

Đặc biệt đang có chương trình khuyến mại cực tốt cho khách hàng đăng ký dịch vụ Gmail Tên Miền Riêng:

  • Giảm giá lên đến 20%.
  • Giá chỉ từ 495k/5mail.
  • Dung lượng lên đến 30GB/user.

Đăng ký ngay:

Gmail cho Doanh Nghiệp

Cron Job linux

Điều kiện tiên quyết để sử dụng Cron Job:

  • Hệ thống máy tính chạy Linux.
  • Truy cập vào cửa sổ dòng lệnh / dòng lệnh (Ctrl-Alt-T hoặc Ctrl-Alt-F2).
  • Tài khoản người dùng có đặc quyền root hoặc sudo

Cú pháp Crontab cơ bản trong Linux

Chương trình Cron sử dụng cú pháp cụ thể để diễn giải các dòng lệnh trong tệp chứa lịch trình crontab.

Dòng lệnh crontab bao gồm:

a b c d e /directory/command output

Lệnh cron gồm có:

  1. Trường thời gian a b c d e xác định lịch trình của công việc.
  2. Trường user-name /directory/command xác định vị trí và tập lệnh được phép chạy.
  3. Tác vụ output là tùy chọn, giúp xác định cách hệ thống thông báo công việc đã hoàn thành.

1. Định dạng thời gian công việc Cron

Trường thời gian a b c d e đại diện cho thời điểm và tần suất chạy lệnh của Cron và mỗi khoảng phân tách là một giá trị cụ thể.

Một số giá trị cho trường và cú pháp:

FieldGiá trị khả thiCú phápÝ nghĩa
[a] – phút0 – 597 * * * *Cron job được bắt đầu khi đồng hồ hệ thống hiển thị số 7 ở vị trí của phút.
[b] – Giờ0 – 230 7 * * *Cron Job chạy bất kỳ lúc nào đồng hồ hệ thống hiển thị 7 giờ
[c] – Ngày0 – 310 0 7 * *Cron Job sẽ bắt đầu chạy vào ngày thứ 7 của tháng.
[d] – Tháng0 = không có
và 12 = tháng 12
0 0 0 7 *Cron Job sẽ chỉ được chạy trong tháng 7
[e] – Ngày trong tuần0 = Chủ nhật
và 7 = Chủ nhật
0 0 * * 7Cron Job sẽ chỉ chạy vào Chủ nhật.

2. Lệnh thực thi

Lệnh thực thi của cron đại diện cho thư mục và tên tệp trong các tập lệnh mà bạn muốn hoàn thành.

Ví dụ: Trong lệnh backup.sh, bạn có thể xem thư mục gốc trong bất kỳ tập lệnh nào:

 /root/backup.sh

3. Output (Có thể thực hiện hoặc không)

Lệnh cron sẽ gửi email đến chủ sở hữu của crontab để thuận tiện theo dõi các nhiệm vụ trong quá trình làm việc của tệp.

Tính năng tùy chọn này giúp hạn chế hộp thư đến bị đầy do công việc quá thường xuyên bằng cách thêm chuỗi >/dev/null 2>&1 sau trường thời gian và lệnh để tắt email output:

* * * * * directory/command >/dev/null 2>&1

4. Sử dụng các toán tử (Có thể thực hiện hoặc không)

Toán tử là một công cụ thao tác các dữ liệu bao gồm các ký tự đặc biệt thực hiện các phép toán của giá trị trong trường cron:

  • Dấu sao (*) chỉ định tất cả các giá trị trong phạm vi thời gian như giờ, ngày, tháng.
  • Dấu phẩy (,) chỉ định danh sách các giá trị riêng lẻ.
  • Dấu gạch ngang () cho biết phạm vi của các giá trị.
  • Dấu gạch chéo (/) chia giá trị thành các bước nhỏ.

Thiết lập Cron Job

Để thiết lập cron job, bạn cần mở crontab bằng trình soạn thảo văn bản và nhập cú pháp cho lệnh bạn muốn chạy.

Cách chỉnh sửa tệp crontab

Mở tệp crontab với lệnh:

 crontab –e

Bạn có thể thêm bất kỳ số lượng tác vụ đã lên lịch vào các dòng lệnh:

cach chinh sua tep crontab

Sau khi hoàn tất, hãy lưu lại tệp và thoát. Không cần khởi động lại, các lệnh cron sẽ đọc và thực thi các tác vụ đã được cung cấp.

Chỉnh sửa crontab cho một người dùng khác

Để chỉnh sửa crontab cho người dùng khác, nhập lệnh:

 crontab –u other_username –e

Lưu ý: Trong trường hợp này, bạn có thể lựa chọn khởi động lại hoặc không.

Ví dụ về Cron Job

Sử dụng dấu sao để chỉ định các giá trị trong các trường của lệnh cron. Ví dụ:

* 2 0 * 4 /root/backup.sh

Cron Job sẽ được chạy vào lúc 2 giờ với điều kiện ngày đầu tiên của tháng rơi vào thứ 4. Hoặc nếu đặt:

* 2 0 * * /root/backup.sh

Cron Job sẽ được chạy vào lúc 2 giờ và vào các ngày đầu tiên hàng tháng.

Bảng sau cung cấp một số lệnh cơ bản sử dụng tệp /root/backup.sh:

Cron JobYêu cầu
Chạy Cron Job mỗi phút* * * * * /root/backup.sh
Chạy Cron Job cứ sau 30 phút30 * * * * /root/backup.sh
Chạy Cron Job mỗi giờ0 * * * * / root / backup.sh
Chạy Cron Job mỗi ngày vào lúc nửa đêm0 0 * * * /root/backup.sh
Chạy Cron Job lúc 2 giờ sáng mỗi ngày0 2 * * * /root/backup.sh
Chạy công việc Cron mỗi ngày 1 tháng0 0 1 * * /root/backup.sh
Chạy Cron Job vào ngày 15 hàng tháng0 0 15 * * /root/backup.sh
Chạy Cron Job vào ngày 1 tháng 12 – Nửa đêm0 0 0 12 * /root/backup.sh
Chạy Cron Job vào Thứ Bảy lúc Nửa đêm0 0 * * 6 /root/backup.sh

Sử dụng các ký tự đặc biệt

1. Sử dụng dấu gạch chéo để chia chuỗi thời gian thành các bước khác nhau.
Ví dụ: Cài đặt chạy bản sao cứ sau 15 phút:

*/15 * * * *

Dấu * có nghĩa là tất cả các giá trị và /15 là đếm và lặp lại sau mỗi 15 phút.

2. Sử dụng ký tự gạch ngang để chỉ định một phạm vi nhất định.

Ví dụ: Cài đặt chạy mã vào 4 giờ sáng mỗi ngày trong tuần:

0 4 * * 1-5 /root/backup.sh

1-5 có nghĩa là công việc được chạy từ thứ hai – thứ 6.

3. Sử dụng dấu phẩy để liệt kê các giá trị khi chạy.

Ví dụ:

0 4 * * 2,4 /root/backup.sh

Điều này có nghĩa là công việc sẽ chạy vào lúc 4 giờ sáng trong hai ngày thứ ba và thứ năm.

4. Một số ký tự đại diện có thể được kết hợp.

Ví dụ: Cài đặt thực hiện lệnh chạy cách ngày lúc 37 phút:

37 1-23/2 * * * /root/backup.sh

1-23 chỉ định phạm vi giờ, /2 đặt khoảng thời gian cách nhau một giờ.

Liệt kê Cron Job đang hoạt động

liet Cron Job dang hoat dong

Công cụ cho phép bạn liệt kê tất cả các Cron Job trên hệ thống máy chủ mà không cần mở tệp crontab. Nhập lệnh sau vào cửa sổ dòng lệnh:

 crontab –l

Tổng kết về cách thiết lập Cron Job trong Linux

Hy vọng qua những thông tin mà chúng tôi đã chia sẻ trên đây có thể giúp cho bạn hiểu thêm về cơ chế hoạt động và cách sử dụng Cron Job trong Linux.

Nếu có thắc mắc về những vấn đề khác của Linux, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Dịch vụ Cloud VPS Giá Rẻ chất lượng cao

BKHOST đang có chương trình khuyến mãi cực shock dành cho khách hàng đăng ký Cloud VPS Giá Rẻ:

  • Giảm giá lên đến 25%.
  • Giá chỉ từ 87k/tháng.
  • Tặng thêm 512MB Ram khi đăng kí từ 12 tháng trở lên.

mua vps giá rẻ

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger