Hướng Dẫn Sử Dụng Crontab Linux

0
656

Hướng Dẫn Sử Dụng Crontab Linux

Crontab là gì?

Hiểu đơn giản, Crontab (Cron Table) là một daemon lập lịch công việc dựa trên thời gian theo chỉ định và có mặt trong hầu hết các hệ điều hành Unix và các bản phân phối Linux. Crontab có khả năng chạy nền và độc lập, chúng ta sẽ lập lịch công việc với cron (Cron schedule) và những công việc sẽ được gọi là “Cron Job”. Sau khi lập lịch, Cron Job sẽ tự động thực hiện theo thời gian chỉ định và thường là các tác vụ liên quan đến bảo trì định kỳ.

Crontab hoạt động ra sao?

Nghe phần giải thích về Crontab, có lẽ bạn nghĩ Cron Schedule sẽ là một thứ gì đó rất hấp dẫn đúng không?

Không, Cron Schedule chỉ là một file text và thường nằm ở vị trí là ở /var/spool/cron. Bạn sẽ không thể dùng các tệp thông thường hoặc chỉnh sửa trực tiếp bằng các phần mềm edit. Cách duy nhất bạn có thể sử dụng là dùng lệnh Crontab.

Để hiểu được cách Crontab hoạt động, chúng ta sẽ tìm hiểu về cấu trúc của một Crontab ra sao nhé!

Cấu trúc của một Crontab sẽ bao gồm 5 trường xác định thời gian và cuối cùng sẽ là lệnh để chạy theo định kỳ như sau:

Ví dụ, bạn muốn lưu trữ dữ liệu vào giữa tuần, đầu tháng và giữa tháng, bạn có thể thực hiện lệnh như sau:

0 0 1,15 * 3 * /ongbut.com.vn/backup
Lệnh có nghĩa là vào lúc 00:00 ngày 1 và 15 của tháng và vào thứ 4.

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. Do đó, mình sẽ hướng dẫn phiên bản phổ biến nhất và có nhiều người sử dụng nhất là Ubuntu 18.04 nhé! 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. Ngoài ra bạn cũng có thể tham khảo các trang sẽ tạo lịch tham khảo để dùng cho tiện nhé.

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:

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

Trong phần hướng dẫn sử dụng Crontab Linux, Tino Group sẽ lượt phần lệnh để chạy do chúng tôi không biết bạn sẽ sử dụng lệnh nào để thực thi nhé!

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.
    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 (https://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 23:30 vào thứ bảy hàng tuần, chúng ta sẽ có code Crontab như sau:

30 11 * * 6

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. Thật tuyệt vời đúng không nào?

Vậy là chúng ta đã tìm hiểu xong về Crontab là gì cũng như cách để sử dụng Crontab trong Linux rồi đấy! Mình hi vọng rằng những kiến thức này sẽ hỗ trợ cho bạn trong công tác quản lý hosting và thực hiện những công việc khác tốt nhất!

Chúc bạn thành công!