4.11 Jak uruchomić skrypt w regularnych odstępach czasu?

Ostatnia modyfikacja: 2002-11-12 14:56:51

W systemach Unix, możemy skorzystać z programu cron Umożliwia on wykonywanie określonych zadań w wybrany przez nas dzień i godzinie.

Postępowanie:
1. Tworzymy skrypt Bashowy, który będzie uruchamiał nasz program w PHP.
2. Tworzymy odpowiednia regułę w cronie aby uruchamiał nasz skrypt.

Gdy PHP jest jako CGI to punkt 1 można pominąć.

ad 1.


#!/bin/bash
lynx -dump http://adres/katalog/plik.php >> out.txt



Zapisujemy np. pod nazwą start1
Nadajemy prawa do uruchamiania


chmod 700 start1


sprawdzamy czy skrypt bashowy uruchomi nam nasz program w PHP.

./start1



W wyniku zadziałania tego skryptu powinien zostać utworzony plik out.txt zawierający wynik (w postaci TXT) działania skryptu PHP.

Jeśli nie chcemy tworzyć pliku z wynikiem to zamiast >> out.txt należy wpisać > /dev/null

ad 2.
aby edytować swoje reguły w cronie należy uruchomić crontab -e zostanie uruchomiony domyślny edytor (zwykle Vi)

następnie wpisać przykładową regułę

40 11 * * * /home/cos/start1


Reguła ta określa że każdego dnia o 11:40 ma być uruchamiany plik start1 mieszczący się w katalogu /home/cos/

więcej informacji:
man cron
man 1 crontab
man 5 crontab
Jeśli dostępne jest php w postaci CGI, do crona można dodać bezpośrednie wywołanie skryptu:


/usr/bin/php -q /home/cos/plik.php


Jeśli plik php posiada prawa wykonywalności oraz pierwsza linia tego pliku to:


#!/usr/bin/php

to do crona można wpisać już samą nazwę tego pliku, bez jawnego wywołania interpretera PHP, czyli:

/home/cos/plik.php



Powrót do indeksu