
Cron job là một công cụ lập lịch tác vụ tự động trong hệ thống Unix-like, bao gồm cả Linux. Nó cho phép bạn thực thi một lệnh hoặc tập lệnh (script) vào một thời điểm cụ thể trong tương lai hoặc lặp lại theo một chu kỳ nhất định. Xem ngay bài viết bên dưới của Tenten.vn để hiểu hơn về Cron Job nhé.
Contents
Cron job là một công cụ vô cùng hữu ích để tự động hóa các tác vụ lặp đi lặp lại trong hệ thống Linux. Bằng cách hiểu rõ cách thức hoạt động và cấu trúc của cron job, bạn có thể tối ưu hóa công việc của mình và đảm bảo hệ thống luôn hoạt động ổn định.
Cron Job giúp bạn:

Cron job là gì?
Bạn có thể tạo và chỉnh sửa cron jobs bằng nhiều cách khác nhau. Trong hướng dẫn này, chúng tôi sẽ chỉ bạn cách thực hiện qua Linux Shell Prompt (Terminal).
Nếu bạn sử dụng VPS hosting trên Tenten, hãy vào trang quản trị VPS để lấy thông tin truy cập server qua SSH. Nếu gặp vấn đề, bạn có thể xem hướng dẫn PuTTY để kết nối SSH.

Một số thông tin cơ bản về Cron job
Để chỉnh sửa file crontab của người dùng hiện tại, nhập lệnh crontab -e trong terminal:
Nếu sử dụng vi editor, bạn có thể tìm hiểu các lệnh cơ bản của vi để sử dụng hiệu quả.
Để chỉnh sửa crontab của người dùng khác, nhập:
sudo su crontab -u username -e
Để xem các cron files đã tạo, nhập crontab -l. Nếu không có file nào, kết quả sẽ như sau:
Để xem danh sách file crontab của người dùng khác, nhập:
sudo su crontab -u username -l
Ngoài việc biết các tác vụ cơ bản, bạn cũng cần nắm vững cú pháp crontab. Một file crontab gồm 2 phần: lịch trình và lệnh. Ví dụ:
* * * * * /bin/sh backup.sh
Lệnh này chạy backup mỗi phút. Ví dụ khác:
30 18 * * * rm /home/sydtesting/tmp/*
Lệnh này xóa các file tmp khỏi /home/sydtesting/tmp mỗi ngày lúc 6:30 PM.
File crontab có 5 trường, mỗi trường được đại diện bởi một dấu hoa thị, dùng để xác định ngày và thời gian chạy tác vụ lặp đi lặp lại:

Hướng dẫn viết cú pháp Cron chính xác
Các ký tự đặc biệt trong crontab:
Ví dụ:

Một số ví dụ về cú pháp Cronjob thường gặp
| Diễn đạt | Ý nghĩa |
|---|---|
| 0 0 * * * /bin/sh backup.sh | Chạy backup cơ sở dữ liệu vào giữa đêm hàng ngày. |
| 0 6,18 * * * /bin/sh backup.sh | Chạy backup cơ sở dữ liệu lúc 6AM và 6PM hàng ngày. |
| 0 */6 * * * /scripts/monitor.sh | Thực thi giám sát mỗi 6 giờ. |
| */10 * * * * /home/user/script.sh | Chạy script trong thư mục chính mỗi 10 phút. |
| 0 * 20 7 * /bin/sh backup.sh | Chạy backup cơ sở dữ liệu mỗi giờ vào ngày 20/07. |
| 0 0 * * 2 /bin/sh backup.sh | Chạy backup cơ sở dữ liệu vào giữa đêm mỗi thứ Ba. |
| * * * 1,2,5 * /script/script.sh | Chạy lệnh vào tháng 1, tháng 2 và tháng 5. |
| 10-59/5 5 * * * /home/user/script.sh | Chạy lệnh mỗi 5 phút từ 5:10AM đến 5:59AM hàng ngày. |
| 0 8 1 */3 * /home/user/script.sh | Chạy lệnh hàng quý vào ngày 1 lúc 8AM. |
| * * * * * /scripts/script.sh; /scripts/script2.sh | Đặt lịch nhiều job trên cron job độc lập. |
| @reboot /scripts/script.sh | Chạy tác vụ nhất định mỗi khi khởi động hệ thống. |
| 0 0 1 * * /home/user/script.sh | Chạy lệnh vào ngày đầu tiên của mỗi tháng. |
Cron job là một công cụ vô cùng hữu ích để tự động hóa các tác vụ lặp đi lặp lại trong hệ thống Linux. Bằng cách hiểu rõ cách thức hoạt động và cấu trúc của cron job, bạn có thể tối ưu hóa công việc của mình và đảm bảo hệ thống luôn hoạt động ổn định.
Hyper-V là gì? Lợi ích khi sử dụng nền tảng ảo hóa của Microsoft
Tổng hợp top 7 Linux Distro tốt nhất năm 2024