Jak ustawi膰 zadania CRON dla PrestaShop

uwaga przy uruchamianiu zda艅 w przypadku aktywnego SSL - https na sklepie

W przypadku sklep贸w w kt贸rych mamy aktywny certyfikat SSL, niezale偶nie od informacji z modu艂u, zalecamy ustawiania zda艅 cron na adres

 http:// 
zamieniamy na
https:// 

W przyk艂adach podali艣my adres http://domena.pl - musi by膰 on zamieniony na adres Pa艅stwa sklepu.
Nale偶y r贸wnie偶 poprawnie ustawieni膰http:// lub http:// oraz przedrostek www, je艣li tak jest skonfigurowany sklep.
Nie wszystkie modu艂u posiadaj膮 ?token=, informacje odno艣nie poprawnego linku dost臋pne s膮 w konfiguracji ka偶dego z modu艂贸w.

uruchamianie na serwerze z panelem DirectAdmin

/usr/bin/lynx --dump "http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX" >/dev/null 2>&1 

opcjonalne uruchomienie na DirectAdmin i innych serwerach

/usr/bin/wget -q -F -O - http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX 

Przy problemach z weryfikacj膮 SSLa

/usr/bin/wget -q -F -O - http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX --no-check-certificate 

opcjonalne uruchomienie na DirectAdmin i innych serwerach

/usr/bin/curl --silent http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX 

opcjonalne uruchomienie na DirectAdmin i innych serwerach

Zalecane na:

  • atthost.pl

wget "http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX" 

uruchomienie na cPanel

/usr/bin/wget -q -F -O - http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX 

opcjonalne uruchomienie na cPanel

/wget -q -O /dev/null http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX 

uruchamianie na serwerze MyDevil.net

/usr/local/bin/curl http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX 

opcjonalne uruchamianie na serwerze MyDevil.net

 /usr/bin/fetch --no-verify-hostname --no-verify-peer --user-agent="Devil2 CRON fetch" -o /dev/null http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX 

uruchamianie na serwerze z panelem nazwa.pl

Logujemy si臋 do panelu Active.Admin, nast臋pnie przechodzimy do Ustawienia > Harmonogram zada艅 > Dodaj zadanie harmonogramu i akceptujemy regulamin.

Na serwerach NAZWA.pl - nie ma mo偶liwo艣ci dodania zada艅 cron z tokenem - dlatego w folderze g艂贸wnym tworzymy plik np. allegro-cron.php i w nim

<?php $cronnazwa = file_get_contents('http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX'); 
echo $cronnazwa; ?> 

lub (w przypadku gdy CRON wykonuje si臋, ale nie przynosi efektu)

<?php system('curl -f -s -k http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX'); ?> 

lub (w przypadku gdy jest problem ze sprawdzeniem SSLa domeny)

<?php  system('wget --delete-after --no-check-certificate http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX'); ?> 

Je艣li utworzyli艣my ju偶 nasz plik np cron-allegro.php wybieramy go w polu
Uruchamiane polecenie:, reszt臋 p贸l ustawiamy wed艂ug uznania np:
Opisowa nazwa zadania: cron integracja allegro
Prze艣lij wynik dzia艂ania na adres e-mail: brak@e-mail.pl lub poprawny mail je艣li chcemy by膰 informowani o wykonaniu zadania
Interpreter: PHP

W opcji z harmonogramem czasu wybieramy jak najbardziej zbli偶ony czas z zalecanym w danym module, np w przypadku allegro wybieramy uruchamianie co 10 minut, nast臋pnie potwierdzamy dodanie zadania poprzez klikni臋cie Zapisz.

uruchamianie na serwerze z panelem home.pl

Na serwerach HOME.pl - musimy utworzy膰 plik w folderze g艂贸wnym (/home/ftpmg/public_html/) o nazwie zale偶nej od cz臋stotliwo艣ci uruchamiania zadania np: cron-5min.php i w nim dodajemy

<?php system('curl -f -s -k http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX'); ?> 

lub (w przypadku gdy jest problem ze sprawdzeniem SSLa domeny)

<?php  system('wget --delete-after --no-check-certificate http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX'); ?> 

lub (w przypadku gdy CRON wykonuje si臋, ale nie przynosi efektu)

<?php $cronhome = file_get_contents('http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX'); 
echo $cronhome; ?> 

uruchamianie na serwerze z panelem ovh.pl

Na serwerach OVH.pl - nie ma mo偶liwo艣ci dodania zada艅 cron z tokenem - dlatego w folderze g艂贸wnym tworzymy plik allegro-cron.php i w nim

艁膮czymy si臋 przez FTP i tworzymy nowy plik php 鈥 np. cron-allegro.php
w nim tworzymy skrypt wg poni偶szego przyk艂adu

<?php

ini_set('default_charset', 'utf-8');

$options = array(
    CURLOPT_URL => 'http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX',
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER => false,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CONNECTTIMEOUT => 600,
    CURLOPT_TIMEOUT => 600
);

$curl = curl_init();
curl_setopt_array($curl, $options);f
$response = curl_exec($curl);
curl_close($curl);

print_r($response); 

Nast臋pnie logujemy si臋 na nasz panel zarz膮dzania serwerem na ovh.pl
Z lewego menu wybieramy Hosting i nazw臋 naszego kotna np. domena.pl
Wybieramy Dodaj zadanie 鈥 pojawi nam si臋 nowe okno konfiguracji zada艅 CRON

Nast臋pnie w Polecenie do wykonania, wpisujemy adres do naszego pliku CRON (sugerujemy utworzy膰 w艂asny plik)

  • J臋zyk wybieramy wersj臋 PHP kt贸ra jest obecnie ustawiona na serwerze
  • Uruchom ustawiamy na TAK
  • Logi przesy艂ane e-mailem NIE
  • Opis, mo偶emy wpisa膰 w艂asn膮 tre艣膰 w celu u艂atwienia identyfikacji polecenia

W kroku 2 wybieramy cz臋stotliwo艣膰 uruchamiania zadania CRON (same ustawienia s膮 do艣膰 ubogie w stosunku do reszty hosting贸w 鈥 np. nie wybierzemy minuty uruchamiania zadania).

W wi臋kszo艣ci przypadk贸w zmieniamy tutaj tylko pole Godziny np.::

  • co godzin臋 dla modu艂u allegro
  • co N godzin (wpisujemy 3 w przypadku polecenia cron.php dla importu xml)

W ostatnim kroku 3 otrzymujemy potwierdzenie naszego zadania

Je艣li nasze polecenie zosta艂o utworzone poprawnie, zostaniemy przekierowani na podstron臋 ze wszystkimi zadaniami CRON.

opcjonalne uruchamianie na serwerze Kei.pl

Na wybranych konfiguracjach serwer贸w KEI pojawia si臋 problem (skrypt pr贸buje si臋 uruchomi膰 z PHP 5.4, a sklep np korzysta z PHP 7.2
W takiej sytuacji nale偶y po domena.pl doda膰 port :81 (je艣li korzystamy z http)

links -dump http://domena.pl:81/allegro-cron.php 
W takiej sytuacji nale偶y po domena.pl doda膰 port :4444 (je艣li korzystamy z https)

links -dump https://domena.pl:4444/allegro-cron.php 

Tworzymy na serwerze nowy plik/i na przyk艂adzie allegro (allegro-cron.php) a w nim dodajemy:

<?php

ini_set('default_charset', 'utf-8');

$options = array(
    CURLOPT_URL => 'http://domena.pl/modules/x13allegro/sync.php?token=XXXXXX',
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER => false,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CONNECTTIMEOUT => 600,
    CURLOPT_TIMEOUT => 600
);

$curl = curl_init();
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
curl_close($curl);

print_r($response);