Nội dung bài viết
#

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

Nội dung bài viết

    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 để 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? 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.

    Đ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:

    {{EJS0}}

    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.
    – 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:

    {{EJS1}}

    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:

    {{EJS2}}

    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:

    {{EJS3}}

    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:

    {{EJS4}}

    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ụ:

    {{EJS5}}

    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:

    {{EJS6}}

    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:

    {{EJS7}}

    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:

    {{EJS8}}

    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ụ:

    {{EJS9}}

    Đ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:

    {{EJS10}}

    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:

    {{EJS11}}

    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.

    Mua tên miền .COM tại BKHOST

    BKHOST cam kết giá tốt. Kiểm tra tên miền .COM đẹp và đăng ký ngay hôm nay!

    tên miền .com 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

    Trượt lên đầu trang
    Gọi ĐT tư vấn ngay
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !