2010-10-18 11 views
5

Szukam dobrego samouczka lub książki cronjob, aby dowiedzieć się, jak stworzyć ją przy użyciu PHP.PHP - poradnik dobry cronjob/crontab/cron lub książka

+0

Nic w http://stackoverflow.com/search?q=cron+php? – Gordon

+0

@Gordon Postanowiłem zadać własne pytanie, o to właśnie myślałem, ponieważ jest dla mnie, ponieważ każde pytanie otrzymuje inne odpowiedzi. – HELP

+1

@huf [to nieporozumienie] (http://meta.stackexchange.com/questions/17494/im-new-to-stackoverflow-what-dotyczy--przedniej-wyszukiwania-pytań "Meta: Co należy Rozważę przed zadawaniem pytań "). Zachęcamy Cię do skorzystania z funkcji wyszukiwania i rozważenia pytań, które daje ci SO podczas wprowadzania pytania. Publikowanie duplikatów jest odradzane, ponieważ dodaje tylko bałaganu. – Gordon

Odpowiedz

12

Cronjob nie jest czymś, co można utworzyć jako proces lub skrypt PHP. Cron to program linux, który pozwala na wywoływanie skryptu w regularnych odstępach czasu.

Można zobaczyć, co jest crontab wpisując na maszynie linux jako administratora i wpisz:

[email protected]:~# crontab -e 

będzie można zobaczyć coś podobnego

*/1 * * * * /usr/bin/php /var/www/somesite/public/cron.php 

Oznacza to, że każda minuta jestem wykonywanie pliku cron.php.

Teraz możesz chcieć mieć różne skrypty wykonywane w różnym czasie i chcesz przekazać tę logikę na poziom php zamiast na poziomie Linux. W takim przypadku możesz chcieć wywołać swój skrypt cron w najniższym czasie mianownika (na przykład minutę), aw cron.php zbudować logikę, która będzie wywoływać w różnych momentach inne skrypty.

używam na przykład Cronable interfejs:

interface Cronable { 
    public function cron(); 
} 

a każda klasa, która chce być nazywany przez cron.php musi implementować ten interfejs i cron() Funkcja, która będzie określić, co jest określona częstotliwość połączenia. Cron.php otrzyma wszystkie te klasy i porówna bieżący czas z tym czasem i zdecyduje się wykonać połączenie, czy nie.

+0

W rzeczywistości program jest cron. crontab to lista zadań do uruchomienia. –

+0

masz rację. –

1

Nie tworzysz tego przy użyciu PHP. Tworzysz je przy użyciu crontab(1).

2

Nie potrzebuję całej książki, żeby się tego nauczyć.

zasadzie jesteś tylko pisanie skryptu jak zawsze (unikać $_SERVER) i dokonać wpisu do swojego crontab tak:

* * * * * [/path/to/php/]php /path/to/your/script/script.php 
1

lub możesz po prostu otworzyć CPANEL i poszukać CRONJOBS. tam możesz wybrać plik php lub skrypt, który musisz uruchomić i kiedy to zrobić, raz na godzinę, na dzień, co niedziela i tak dalej.

1

Jak powiedzieli inni, cron nie jest czymś, co można wywołać w PHP, co tłumaczy, dlaczego nie znalazłeś żadnych tutoriali, aby to zrobić.

Pytanie brzmi: co dokładnie próbujesz zrobić? Czy chcesz uruchamiać program PHP w regularnych odstępach czasu? Jeśli to właśnie chcesz zrobić, to tak, będziesz potrzebował crona, ale nic w tym nie byłoby specyficzne dla PHP, więc po prostu zajrzyj do tutoriali cron dotyczących formatowania plików crontab.

Jeśli chcesz skonfigurować konfigurację crona w PHP (tak to czyta z twojego pytania), musisz zmodyfikować plik crontab. Jest to prosty plik tekstowy, więc jego załadowanie i zapisanie byłoby równie łatwe jak każdy inny plik tekstowy. (Prawdopodobnie masz problemy z uprawnieniami do plików, ale jest to coś, co prawdopodobnie powinno uzyskać pomoc osobno).

Aby zmodyfikować ustawienia crontab, musisz wiedzieć, jak sformatować wpisy w pliku crontab, więc znowu przydatne będą te same instrukcje crona, które wspomniałem powyżej (tj. Nie muszą zawierać " PHP "w twoim wyszukiwaniu). Następnie napisz program php, który może zapisać dane w tym formacie. W rzeczywistości nie jest to bardzo skomplikowany format, więc jeśli znasz PHP dość dobrze, powinieneś być w stanie opracować sposób analizowania danych. (ale daj nam znać, jeśli potrzebujesz dodatkowej pomocy)

Mam nadzieję, że pomoże Ci to zacząć.