- Wprowadzenie
- Z jakich rozszerzeń dla pliku mogę skorzystać przy funkcji CRON?
- Jak skorzystać z funkcji CRON na serwerze w AZ.pl?
- Inne przykłady zastosowania funkcji CRON
- Jak zabezpieczyć się przed wywołaniem pliku CRON przez dowolnego użytkownika?
- Jaki jest maksymalny czas działania procesu CRON?
Wprowadzenie
- co pięć minut,
- co godzinę (hourly),
- codziennie (daily),
- co tydzień (weekly),
- co miesiąc (monthly)
- o ściśle określonej godzinie (z dokładnością do 5 minut).
Z jakich rozszerzeń dla pliku mogę skorzystać przy funkcji CRON?
Dostępne rozszerzenia dla funkcji CRON to:
- .php
- .php5
- .pl
- .cgi
- .py
Jak skorzystać z funkcji CRON na serwerze w AZ.pl?
Aby skorzystać z funkcji CRON, należy w katalogu głównym konta umieścić skrypt z nazwą według zasady:
cron-[hourly|daily|monthly|weekly].[rozszerzenie]
Dokładne godziny uruchomień:
- hourly – pełne godziny *:00,
- daily – codziennie o 1:15,
- weekly – w sobotę o 1:30,
- monthly- pierwszego każdego miesiąca o 1:45.
Inne przykłady zastosowania funkcji CRON:
cron-[godzina].[rozszerzenie]
Plik „cron-04.php” zostanie uruchomiony o godzinie 04:00 przez interpreter PHP.
cron-[hhmm].[rozszerzenie]
Maksymalna dokładność to 5 minut – np. nie zadziała plik o nazwie „cron-1546.php”.
cron-[xx]min.[rozszerzenie] - gdzie xx oznacza minuty. Dozwolone wartości to - 5, 10, 15, 20, 30.
Jak zabezpieczyć się przed wywołaniem pliku CRON przez dowolnego użytkownika?
:Location /cron-daily.php Access deny all
Plik „.htaccess” z zawartością, która powoduje blokadę wywołania pliku CRON należy umieścić w katalogu głównym serwera. W linii zaczynającej się od frazy „:Location” zdefiniuj nazwę pliku CRON, który ma zostać zablokowany przed wywołaniem.
Jaki jest maksymalny czas działania procesu CRON?
Maksymalny czas życia procesu CRON określony jest w parametrach bezpieczeństwa. Według ustawień naszych parametrów bezpieczeństwa, czas życia procesu ma wartość 300 sekund (w przypadku usług Hosting SMART) lub 600 sekund (w przypadku Hosting KOMFORT oraz Hosting PRO).
Dodatkowe instrukcje odnośnie funkcjonowania CRON w AZ.pl:
W sytuacji w której np. plik CRON znajduje się w podkatalogu, warunkiem jego uruchomienia będzie ręczne wywołanie go w przeglądarce lub umieszczenie w katalogu głównym serwera pliku CRON uruchamiającego.
Jeżeli dany skrypt PHP wykonuje się poprawnie, gdy wywoływany jest z poziomu przeglądarki, a nie dzieje się tak kiedy skrypt wywoływany jest w pliku cron, to sugerujemy przeniesienie treści skryptu do dowolnego innego pliku PHP i uruchamiania tego skryptu z pliku crona poleceniem wzorowanym na poniższym:
<?php system('wget --delete-after http://az-serwer123456.online.pro/plik.php'); ?>
W przypadku, gdy wywoływany skrypt wymaga autoryzacji http:
<?php system('wget --delete-after --user=UŻYTKOWNIK --password=HASŁO http://az-serwer123456.online.pro/plik.php'); ?>
W przypadku, gdy skrypt wywoływany jest z użyciem protokołu https:
<?php system('wget --delete-after --no-check-certificate https://az-serwer123456.online.pro/plik.php'); ?>
Analogicznie z wykorzystaniem polecenia curl:
<?php system('curl -f -s http://az-serwer123456.online.pro/plik.php'); ?>
W przypadku, gdy wywoływany skrypt wymaga autoryzacji http:
<?php system('curl -f -s -u UŻYTKOWNIK:HASŁO http://az-serwer123456.online.pro/plik.php'); ?>
W przypadku, gdy skrypt wywoływany jest z użyciem protokołu https:
<?php system('curl -f -s -k https://az-serwer123456.online.pro/plik.php'); ?>