2011-10-11 20 views
5

próbuję skonfigurować cronjob do uruchomienia pliku PHP. chcę tylko wiedzieć, czy robię to dobrze, czy nie.Czy to cronjob zadziała?

pozwala powiedzieć, że php znajduje się pod numerem http://mysite.com/myscript/cronjob.php i chcę, aby działał co 3 godziny.

Jestem bardzo nowa w cronjobs, więc przepraszam, jeśli wydaje mi się, że nie mam pojęcia, co robię.

Minute Hour Day  Month Weekday  Command 

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

Chcę to uruchomić ten skrypt PHP co 3 godziny. czy to działa, czy też muszę użyć innego polecenia?

+2

Musisz użyć poleceń, które twój system rozumie. A jest wiele dobrych porad online crontab. Google, dopóki nie znajdziesz takiego, który mówi w Twoim języku. – hakre

Odpowiedz

5

Nie, to nie będzie działać. Adres URL nie jest plikiem wykonywalnym, jest po prostu adresem URL.

Możesz wpisać wget http://mysite.com/myscript/cronjob.php dla swojego polecenia, ale czy to naprawdę chcesz?

Najlepszym sposobem (jeśli skrypt znajduje się na serwerze lokalnym) jest wywołanie PHP bezpośrednio:

php /var/www/myscript/cronjob.php

0

Oprócz tego, co mówili inni o nie jest w stanie określić adres URL do zapytania:

Znalazłem kilka odniesień Internecie thatwarn

A.) wzór Powtórz jak/2 dla co 2 minuty lub/10 za każde 10 minut nie jest obsługiwane przez wszystkie systemy operacyjne. Jeśli spróbujesz go użyć, a crontab narzeka, prawdopodobnie nie jest obsługiwane.

Jednak zakładając, że powtarzane wzory są obsługiwane, powinno działać.

Więc bardziej przenośny sposób byłoby zrobić:

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

Twoja cron pobiera dla ciebie adresy URL? – Brad

+0

@Brad err no, nie ma. Nie widziałem tego :) –

4

Prawie, powinien to zrobić

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

lub zwinięcie

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

-s/-q wyciszy wyjście, a -o przekieruje scr ipts wyjście do/dev/null