Tạo cron job trên DirectAdmin qua giao diện
Hướng dẫn DirectAdmin · cập nhật 18/08/2026
Chức năng Cron Jobs trên DirectAdmin cho phép bạn hẹn giờ chạy một lệnh hoặc một file script theo chu kỳ lặp lại, ví dụ mỗi 5 phút một lần hoặc 2 giờ sáng hàng ngày. Tạo một lịch mất khoảng 2 phút qua giao diện, không cần gõ lệnh nào trên máy chủ.
Bạn cần tới nó khi website WordPress phải chạy tác vụ nền đều đặn, khi muốn gọi một file PHP dọn dữ liệu cũ mỗi đêm, hoặc khi phần mềm bạn cài yêu cầu thêm một dòng cron vào hosting. Dấu hiệu nhận ra là tài liệu của phần mềm đưa cho bạn một dòng lệnh và bảo thêm nó vào cron.
- Vào Advanced Features rồi mở Cron Jobs.
- Bấm Create cron job và chọn chu kỳ ở năm ô thời gian.
- Điền lệnh cần chạy kèm đường dẫn tuyệt đối.
- Lưu lại rồi chờ tới lượt chạy đầu tiên để kiểm.
Bài này làm trên DirectAdmin bản 1.6 trở lên với giao diện Evolution. Trên gói hosting dùng chung, chu kỳ ngắn nhất mà nhiều nhà cung cấp cho phép là 5 phút, đặt 1 phút một lần có thể bị chặn hoặc bị nhắc giảm tần suất.
Lập lịch trên bảng điều khiển khác gì crontab dòng lệnh
Hai cách cùng ghi vào một chỗ: bảng lịch của người dùng trên máy chủ. Khác biệt nằm ở cách nhập. Bảng điều khiển cho bạn năm ô riêng để điền từng trường thời gian, còn dòng lệnh bắt bạn tự gõ đủ năm trường trên một dòng theo đúng thứ tự.
| Mặt | Giao diện DirectAdmin | crontab qua SSH |
|---|---|---|
| Cách nhập thời gian | Năm ô riêng, chọn hoặc gõ từng ô | Gõ liền năm trường cách nhau bằng dấu cách |
| Quyền cần có | Tài khoản hosting thường | Quyền SSH vào máy chủ |
| Chạy dưới tên người dùng nào | Chính tài khoản hosting của bạn | Người dùng đang mở crontab |
| Sửa nhiều lịch một lúc | Sửa từng dòng qua giao diện | Mở cả bảng trong trình soạn thảo, sửa hàng loạt |
| Hợp với ai | Người dùng hosting, không cần biết cú pháp | Người quản trị VPS hoặc máy chủ riêng |
Nếu bạn đang quản trị VPS và muốn hiểu sâu cú pháp năm trường, cách xem log và cách đặt lịch ở cấp hệ thống, đọc bài tìm hiểu crontab trong Linux. Bài này tập trung vào thao tác qua giao diện.
Mở mục Cron Jobs trong DirectAdmin
Đăng nhập DirectAdmin ở địa chỉ dạng https://ten-mien-cua-ban.com:2222 hoặc https://IP_hosting:2222. Ở menu bên trái, mở nhóm Advanced Features rồi bấm Cron Jobs. Trang liệt kê các lịch đang có của tài khoản hiện ra.

Trang này trống ở lần đầu vì tài khoản mới chưa có lịch nào. Bên dưới danh sách có ô nhập địa chỉ email nhận kết quả chạy, phần sau sẽ nói tới.
Ý nghĩa năm ô thời gian trong biểu mẫu tạo lịch
Biểu mẫu có năm ô thời gian tương ứng với phút, giờ, ngày trong tháng, tháng và ngày trong tuần. Cả năm ô cùng phải khớp thì lệnh mới chạy. Ô nào không muốn giới hạn thì điền dấu sao, nghĩa là mọi giá trị đều được.
| Ô | Khoảng giá trị | Ý nghĩa |
|---|---|---|
| Minute | 0–59 | Phút thứ mấy trong giờ |
| Hour | 0–23 | Giờ thứ mấy trong ngày, tính theo 24 giờ |
| Day | 1–31 | Ngày thứ mấy trong tháng |
| Month | 1–12 | Tháng thứ mấy trong năm |
| Weekday | 0–7 | Thứ mấy trong tuần, số 0 và 7 đều là Chủ nhật |
Ba ký hiệu dùng được trong mọi ô. Dấu sao * nghĩa là mọi giá trị. Dấu phẩy liệt kê nhiều mốc rời rạc, ví dụ 10,20,30. Dấu gạch chéo đặt bước nhảy, ví dụ */5 ở ô Minute nghĩa là cứ 5 phút một lần.
| Chu kỳ muốn có | Minute | Hour | Day | Month | Weekday |
|---|---|---|---|---|---|
| Mỗi 5 phút | */5 | * | * | * | * |
| Mỗi giờ, vào phút thứ 0 | 0 | * | * | * | * |
| 2 giờ sáng hàng ngày | 0 | 2 | * | * | * |
| Chủ nhật hàng tuần lúc 3 giờ | 0 | 3 | * | * | 0 |
| Ngày 1 mỗi tháng lúc 0 giờ | 0 | 0 | 1 | * | * |
Chỗ hay đặt sai nhất là để dấu sao ở ô Minute khi đã đặt giờ cụ thể. Đặt Hour bằng 2 mà Minute vẫn để * thì lệnh chạy 60 lần liên tiếp trong khoảng từ 2 giờ tới 3 giờ, chứ không phải một lần.
Tạo một lịch chạy file PHP có sẵn
Ba bước dưới đây tạo một lịch gọi file demo.php nằm trong thư mục public_html chạy mỗi 5 phút. Đây là dạng việc hay gặp nhất trên hosting dùng chung.
1. Bấm Create cron job
Ở trang Cron Jobs, bấm nút Create cron job phía trên danh sách để mở biểu mẫu.

2. Điền năm ô thời gian
Điền */5 vào ô Minute, để dấu sao ở bốn ô còn lại. Cả năm ô đều phải có giá trị, để trống một ô là DirectAdmin báo lỗi khi lưu. Đây là lỗi hay gặp nhất khi tạo lịch lần đầu.
3. Điền lệnh vào ô Command
Ô Command nhận lệnh chạy trên máy chủ. Với file PHP, viết tên trình thông dịch rồi tới đường dẫn tuyệt đối của file:
php /home/tendangnhap/domains/ten-mien-cua-ban.com/public_html/demo.php
Thay tendangnhap bằng tên tài khoản hosting và ten-mien-cua-ban.com bằng tên miền thật. Đường dẫn phải là tuyệt đối, bắt đầu bằng /home. Cron chạy từ thư mục gốc chứ không phải thư mục website, nên đường dẫn tương đối kiểu ./demo.php luôn thất bại.

Bấm Create để lưu. Lịch mới hiện ngay trong danh sách kèm nút sửa và nút xoá ở cuối dòng.

Kiểm lịch đã chạy chưa
Cron không báo gì lên màn hình, nên bạn phải tự dựng cách kiểm. Ba cách dưới đây đi từ nhanh nhất tới chắc chắn nhất, chọn theo thứ tự tuỳ mức nghi ngờ của bạn.
Bật nhận email kết quả. Ở cuối trang này có ô nhập địa chỉ email. Điền vào đó và lưu, máy chủ sẽ gửi thư mỗi khi lệnh có kết quả in ra màn hình hoặc có lỗi. Đây là cách nhanh nhất để biết lệnh có chạy hay không. Xong việc kiểm thì tắt đi, không thì hộp thư đầy rất nhanh.
Cho script tự ghi dấu vết. Thêm vào đầu file PHP một dòng ghi thời điểm chạy ra file log riêng. Cách này để lại bằng chứng lâu dài mà không phụ thuộc vào email.
file_put_contents('/home/tendangnhap/cron.log', date('c') . " chay\n", FILE_APPEND);
Đổi tạm chu kỳ xuống mức ngắn. Đang thử một lịch chạy hàng ngày mà chờ tới hôm sau thì mất thời gian. Đổi tạm Minute thành */5, chờ 5 phút xem có dấu vết chưa, xác nhận xong thì trả lại chu kỳ thật.
Xử lý các lỗi thường gặp khi lập lịch trên DirectAdmin
Năm tình huống dưới đây gom gần hết các ca cron không chạy. Điểm chung là lệnh chạy bình thường khi bạn gõ tay nhưng im lặng khi cron gọi, và nguyên nhân gần như luôn nằm ở môi trường chạy chứ không phải ở nội dung script.
DirectAdmin báo lỗi khi bấm Create. Còn ô thời gian để trống. Điền đủ cả năm ô, ô nào không giới hạn thì gõ dấu sao.
Lịch có trong danh sách nhưng script không chạy. Đường dẫn sai. Vào File Manager của DirectAdmin, mở đúng file đó rồi chép đường dẫn đầy đủ hiện ở thanh trên, dán vào ô Command thay cho đường dẫn bạn tự gõ.
Script chạy tay được nhưng cron gọi thì lỗi. Cron chạy với môi trường tối giản, không có các biến môi trường của phiên đăng nhập. Trong script, thay mọi đường dẫn tương đối bằng đường dẫn tuyệt đối, và đừng dựa vào thư mục làm việc hiện tại.
Sai phiên bản PHP. Lệnh php trần gọi phiên bản mặc định của máy chủ, có thể khác phiên bản mà website đang chạy. Chỉ đích danh phiên bản trong lệnh, ví dụ /usr/local/php82/bin/php, để tránh script gọi nhầm bản cũ. Kiểm phiên bản website đang dùng theo bài hướng dẫn bật tắt extension PHP trên DirectAdmin.
Chạy nhiều lần hơn dự kiến. Ô Minute còn để dấu sao trong khi ô Hour đã đặt số cụ thể. Đặt Minute thành một số cụ thể, thường là 0.
Sửa và xoá lịch đã tạo
Mỗi dòng trong danh sách có nút sửa và nút xoá ở cuối. Bấm sửa để mở lại biểu mẫu với giá trị hiện tại, đổi ô cần đổi rồi lưu. Bấm xoá thì DirectAdmin hỏi xác nhận, xoá xong không lấy lại được nên chép lệnh ra chỗ khác trước khi xoá.
Rà lại danh sách vài tháng một lần. Lịch gọi tới file đã bị xoá vẫn chạy đều và vẫn sinh lỗi mỗi lần chạy, làm nặng máy chủ mà không ai để ý. Cái nào không nhớ nổi phục vụ gì thì tra file đích trong File Manager, không còn file thì xoá lịch đi. Cần đặt lịch sao lưu định kỳ thì dùng thẳng chức năng có sẵn theo hướng dẫn sao lưu backup website trên DirectAdmin thay vì tự viết script.