# Hướng dẫn thiết lập Cron Job cho Laravel trên Ubuntu Server Để hệ thống tự động chạy các tác vụ định kỳ (bao gồm tác vụ tự động reset thẻ vào cuối tháng qua lệnh `cards:reset`), bạn cần cấu hình Cron Job trên hệ điều hành Ubuntu Server trỏ đến bộ lập lịch (Task Scheduler) của Laravel. ## Các bước thiết lập 1. **Mở cấu hình Crontab:** Truy cập vào terminal của máy chủ Ubuntu dưới quyền của user chạy web (thường là `www-data` hoặc user deploy của bạn) và chạy lệnh: ```bash crontab -e ``` 2. **Thêm cấu hình chạy Scheduler:** Thêm dòng dưới đây vào cuối file cấu hình crontab để gọi Laravel scheduler kiểm tra tác vụ mỗi phút: ```bash * * * * * cd /đường-dẫn-đến-thư-mục-dự-án && php artisan schedule:run >> /dev/null 2>&1 ``` *Lưu ý:* Thay thế `/đường-dẫn-đến-thư-mục-dự-án` bằng đường dẫn tuyệt đối đến thư mục chứa dự án trên server (Ví dụ: `/var/www/thankcard-system`). 3. **Lưu và Thoát:** - Nếu bạn dùng trình soạn thảo `nano`: Nhấn `Ctrl + O` -> nhấn `Enter` để lưu, sau đó bấm `Ctrl + X` để thoát. - Hệ thống sẽ hiển thị thông báo `crontab: installing new crontab`. 4. **Kiểm tra trạng thái:** Chạy lệnh sau để hiển thị danh sách các cron job đang hoạt động trên user đó: ```bash crontab -l ```