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

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ỳ.

Cron Job linux

Vậy làm thế nào để thiết kế xây dựng những ứng dụng trên sever Linux bằng công cụ Cron trải qua lệnh crontab ? Câu vấn đáp 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.

Đ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 hạn việc làm 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:

Field Giá trị khả thi Cú pháp Ý nghĩa
[a] – phút 0 – 59 7 * * * * 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 – 23 0 7 * * * Cron Job chạy bất kỳ lúc nào đồng hồ hệ thống hiển thị 7 giờ
[c] – Ngày 0 – 31 0 0 7 * * Cron Job sẽ bắt đầu chạy vào ngày thứ 7 của tháng.
[d] – Tháng 0 = 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ần 0 = Chủ nhật
và 7 = Chủ nhật
0 0 * * 7 Cron 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 thay mặt cho thư mục và tên tệp trong những tập lệnh mà bạn muốn triển khai xong .

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 thi 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 những trách nhiệm trong quy trình thao tá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 những toán tử ( Có thể thực thi hoặc không )

Toán tử là một công cụ thao tác những tài liệu gồm có những ký tự đặc biệt quan trọng triển khai những 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:Bạn hoàn toàn có thể thêm bất kể số lượng tác vụ đã lên lịch vào những 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, những lệnh cron sẽ đọc và thực thi những tác vụ đã được phân phối .

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

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

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.Cron Job sẽ được chạy vào lúc 2 giờ với điều kiện kèm theo ngày tiên phong của tháng rơi vào thứ 4. Hoặc nếu đặt : Cron Job sẽ được chạy vào lúc 2 giờ và vào những ngày tiên phong 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 Job Yêu cầu
Chạy Cron Job mỗi phút * * * * * /root/backup.sh
Chạy Cron Job cứ sau 30 phút 30 * * * * /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 đêm 0 0 * * * /root/backup.sh
Chạy Cron Job lúc 2 giờ sáng mỗi ngày 0 2 * * * /root/backup.sh
Chạy công việc Cron mỗi ngày 1 tháng 0 0 1 * * /root/backup.sh
Chạy Cron Job vào ngày 15 hàng tháng 0 0 15 * * /root/backup.sh
Chạy Cron Job vào ngày 1 tháng 12 – Nửa đêm 0 0 0 12 * /root/backup.sh
Chạy Cron Job vào Thứ Bảy lúc Nửa đêm 0 0 * * 6 /root/backup.sh

Sử dụng những ký tự đặc biệt quan trọng

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.Dấu * có nghĩa là tổng thể những giá trị và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.có nghĩa là việc làm đượ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.Điều này có nghĩa là việc làm 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 giải trí

chỉ định khoanh vùng phạm vi giờ, đặt khoảng chừng thời hạn cách nhau một giờ .

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ó vướng mắc về những yếu tố khác của Linux, hãy để lại ở bên phản hồi bên dưới, BKHOST sẽ vấn đáp bạn trong thời hạn sớm nhất .P. / s : Bạn cũng hoàn toàn có thể truy vấn vào Blog của BKHOST để đọc thêm những bài viết san sẻ kiến thức và kỹ năng về lập trình, quản trị mạng, website, domain, hosting, vps, server, email, … Chúc bạn thành công xuất sắc .