2011-10-11 25 views
5

Tôi đang cố thiết lập cronjob để chạy tệp PHP. tôi chỉ muốn biết tôi có làm đúng hay không.cronjob này có hoạt động không?

giả sử php nằm ở http://mysite.com/myscript/cronjob.php và tôi muốn nó chạy 3 giờ một lần.

tôi rất mới với cronjobs vì vậy tôi xin lỗi nếu có vẻ như tôi không có đầu mối những gì tôi đang làm.

Minute Hour Day  Month Weekday  Command 

* */3  * * * http://mysite.com/myscript/cronjob.php 

tôi muốn điều này chạy tập lệnh PHP cứ 3 giờ một lần. sẽ làm việc này hay tôi phải sử dụng một lệnh khác?

+2

Bạn cần sử dụng các lệnh mà hệ thống của bạn hiểu được. Và có rất nhiều trực tuyến crontab howtos tốt. Google cho đến khi bạn tìm thấy một ngôn ngữ nói ngôn ngữ của bạn. – hakre

Trả lời

5

Không, điều này sẽ không làm việc. URL không phải là tệp thực thi, nó chỉ đơn giản là một URL.

Bạn có thể đặt wget http://mysite.com/myscript/cronjob.php cho lệnh của mình, nhưng đó thực sự là những gì bạn muốn?

Cách tốt nhất (nếu kịch bản là trên máy chủ địa phương) là để gọi PHP trực tiếp:

php /var/www/myscript/cronjob.php

0

Bên cạnh đó với những gì người khác đã nói về việc không thể chỉ định một URL để truy vấn:

Tôi đã tìm thấy một số tài liệu tham khảo trực tuyến thatwarn

A.) Lặp lại mô hình như/2 mỗi 2 phút hoặc 10 mỗi 10 phút không được hỗ trợ bởi tất cả các hệ điều hành. Nếu bạn cố gắng sử dụng nó và crontab phàn nàn nó có lẽ không được hỗ trợ.

Tuy nhiên các mẫu lặp lại giả định được hỗ trợ, nó sẽ hoạt động.

Vì vậy, một cách cầm tay hơn sẽ làm:

* 0,3,9,12,15,18,21  * * * php /var/www/myscript/cronjob.php 
+1

Cron của bạn tìm nạp URL cho bạn? – Brad

+0

@Brad err no, it does not. Không thấy điều đó :) –

4

Hầu như, điều này sẽ làm điều đó

* */3 * * * wget -q -o /dev/null http://mysite.com/myscript/cronjob.php 

hoặc với curl

* */3 * * * curl -s -o /dev/null http://mysite.com/myscript/cronjob.php 

các -s/-q sẽ tắt tiếng đầu ra và -o sẽ chuyển hướng scr ipts output vào/dev/null

Các vấn đề liên quan