Tài liệu Hướng dẫnvPanel GUICron Jobs

Cron Jobs

HƯỚNG DẪN CRON JOBS TRÊN VPANEL

Cron Jobs chạy lệnh theo lịch — mỗi giờ, mỗi ngày, mỗi 5 phút của thứ Hai thứ hai trong tháng, tuỳ nhu cầu. vPanel thay /etc/cron.d truyền thống bằng CronDispatcher in-process: mỗi phút một tick, khởi chạy job của bạn trong slice systemd theo user + sandbox bwrap. Nhờ đó CPU, RAM, đĩa được giới hạn tự động và bạn có log sạch từng lần chạy.


1. Truy cập Cron Jobs

Đăng nhập User Panel cổng :2083. Ở thanh bên, chọn Cron Jobs trong nhóm Advanced.

Cron Jobs List

Các cột trong bảng

CộtMô tả
NameNhãn thân thiện.
ScheduleCron expression, VD: 0 3 * * * (3h sáng mỗi ngày).
CommandLệnh sẽ chạy. Được bash thực thi dưới user của bạn.
EnabledToggle để tạm dừng / bật lại.
Last RunThời điểm chạy gần nhất.
ActionsRun Now, Edit, Logs, Delete.

2. Tạo Cron Job

Nhấn Create Cron Job.

Create Cron Job

Trường cần nhập

TrườngMô tả
NameNhãn thân thiện (VD: Backup WP hằng đêm).
CommandLệnh shell đầy đủ. Dùng đường dẫn tuyệt đối cho script.
Schedule PresetPreset thông dụng (Every minute, Hourly, Daily, Weekly, Monthly).
Minute / Hour / Day / Month / WeekdayTừng ô nhỏ, dùng cú pháp cron (*, */5, 0,30, 1-5).

Nhấn Create. Dispatcher sẽ nạp dòng mới ở tick phút kế tiếp.

Cú pháp Cron nhanh

Vị tríGiá trịÝ nghĩa
Minute0-59Phút trong giờ
Hour0-23Giờ trong ngày
Day1-31Ngày trong tháng
Month1-12Tháng trong năm
Weekday0-6Thứ (0 = Chủ nhật)

Ví dụ:

  • */15 * * * * — mỗi 15 phút
  • 0 3 * * * — 03:00 mỗi ngày
  • 0 0 * * 0 — 0h Chủ nhật
  • 0 4 1 * * — 04:00 ngày 1 hàng tháng

3. Chỉnh sửa Cron Job

Nhấn Edit trên dòng cần sửa.

Edit Cron Job

Sửa trường bất kỳ rồi Save. Dispatcher hot-reload lịch, không cần restart panel.


4. Chạy ngay (Run Now)

Nhấn Run Now để chạy một lần ngoài lịch. Dòng hiện spinner; khi xong, modal báo exit code và output.

Run Now Result

Rất tiện để test job mới ngay sau khi tạo, khỏi phải đợi tick tiếp theo.


5. Xem log

Nhấn Logs để mở lịch sử chạy.

Cron Logs

Mỗi dòng có:

CộtMô tả
Started AtThời điểm bắt đầu.
DurationThời gian chạy (wall-clock).
Exit Code0 = thành công, khác 0 = lỗi.
Outputstdout + stderr đã capture, có thể mở rộng.
ActionsCopy output, Delete một dòng log.

Log lưu 30 ngày mặc định, có filter theo exit code (Only failures).


6. Bật / Tắt job

Gạt toggle Enabled trên dòng. Job bị tắt vẫn nằm trong bảng nhưng dispatcher bỏ qua hoàn toàn — tiện cho việc pause job nặng khi đang debug.


7. Xử lý sự cố

Job không bao giờ chạy

  • Nguyên nhân: Cron expression sai, hoặc job đang bị tắt.
  • Cách xử lý: Chọn preset Every 5 minutes, bấm Run Now để đảm bảo lệnh chạy được. Rồi đặt lịch thật.

Log báo "command not found"

  • Nguyên nhân: Sandbox có PATH tối thiểu — binary trong ~/bin/ cần đường dẫn tuyệt đối.
  • Cách xử lý: Dùng /usr/bin/php, /usr/local/bin/wp, hoặc bash -lc "…" để nạp login profile.

Log báo exit 137

  • Nguyên nhân: Job vượt giới hạn RAM và bị sandbox kill.
  • Cách xử lý: Giảm khối lượng công việc (chia nhỏ), hoặc xin admin nâng hạn mức RAM cron.

Job chạy 2 lần mỗi tick

  • Nguyên nhân: Có hai dòng lịch chồng nhau.
  • Cách xử lý: Gom về một dòng với expression rõ ràng.

Chúc bạn quản trị Server an toàn và hiệu quả!

Lần cuối cập nhật: 8/7/2026
Nội dung bài viết
Đang tải mục lục...
Nội dung bài viết