10/10/2018, 13:19

Giúp mình về tự động chạy file php sau một thời gian nhất định với

- Mình viết 1 trang kết quả xổ số, để lấy dữ liệu từ site khác mình dùng hàm curl để get dữ liệu về.Mình có 2 file function_php, index_php.Mỗi lần mình chạy file index_php thì sẽ tự động kiểm tra xem có kết quả mới không, nếu có thì lấy về và cập nhật vào datbase. Nhưng bất tiện là mình muốn lấy thì phải chạy file index_php.
- Mình muốn hỏi có cách nào để file index_php tự động chạytrên server không (cứ 5 phút thì chạy 1 lần).
- Mình có server riêng đang cài Koloxo admin.

Mình xin cảm ơn !!!
bvnguyen viết 15:33 ngày 10/10/2018
bạn dùng cronjob, vào host, có chỗ cronjob, điền file php bạn muốn tự chạy, điền thêm thời gian nữa là xong
xanhbien viết 15:32 ngày 10/10/2018
bvnguyen cảm ơn bạn, Mình thử điền file php vào nhưng vẫn không chạy được, bạn có thể cho mình 1 ví dụ chạy thành công không
Vô Thin viết 15:33 ngày 10/10/2018
Không chạy được Cronjob trên hosting thì tốt nhất bạn làm một cái cron trên máy của bạn (nếu máy bạn chạy Linux) hoặc schedule nếu máy bạn chạy Windows và khả năng gần như bạn online hoặc để máy chạy có mạng suốt ngày đêm. Chỉ cần chạy cho mở trình duyệt gọi (shortcut trỏ vào) địa chỉ trang PHP của bạn là xong. Hoặc dùng một dịch vụ trung gian, bạn search với từ khóa free online cron job là ra.
hvcong viết 15:31 ngày 10/10/2018
Nếu server của bạn là linux, từ console chạy lệnh sau để tạo cronjob:

crontab -e <ENTER>

Nhập vào:

/5 * * * * curl <LINK> > /dev/null 2&>1

Save lại và thưởng thức.
Giải thích:
Cú pháp cronjob tại đây: http://www.adminschoice.com/crontab-quick-reference
Trong đó của bạn 5p/lần request thì dùng cái minute là /5 còn lại là *.
<LINK> là link bạn cần request
Kết quả request quẳng luôn vào dev/null (vì không cần nó output ra làm gì nhỉ?)

Nếu là windows thì dùng mấy cách bác superthin nói đó
npbtrac viết 15:27 ngày 10/10/2018
dùng cronjob hay nếu dùng schedule thì phải xét điều kiện thế nào ko thì mệt mỏi
antipro.vn viết 15:27 ngày 10/10/2018
@hvcong Output dùng để gởi về email và kiểm tra kết quả của cronjob nếu có sự cố (tự động)

Vì cronjob chạy ngầm, nên nếu bạn có để output ra hay quăng vào /dev/null thì nó cũng ko thay đổi gì về mặt tốc độ, hiệu suất cả, bạn cũng ko nhìn thấy output đó một cách bình thường được. Cho nên mình vẫn khuyên là để output bình thường.

Các dùng output vào /dev/null chỉ tốt khi chạy batch hoặc execute command trực tiếp mà ko cần output thôi.
hvcong viết 15:24 ngày 10/10/2018
Nếu cần gửi mail, sử dụng output thì với cách của mình ko ổn, tuy nhiên trong các trường hợp khác thì ok.
Bài liên quan
0