PDA

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



xanhbien
09-10-2012, 15:42
- 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
09-10-2012, 18:26
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
11-10-2012, 08:19
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

superthin
11-10-2012, 08:53
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
11-10-2012, 16:00
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
12-10-2012, 17:01
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
12-10-2012, 17:07
@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
25-10-2012, 08:29
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.