Sziasztok!
Van egy kis gondom a cron beállításval.
A szolgáltató felöli oldal elvileg beállítva, azaz az admin írt, hogy shell file óránkénti indítása most már biztosan jó.
(itt syntax hiba volt és jogosultság hiány, de az most már az admin részéről javítva, állítja hogy ez így már biztosan fut)
Az időzített feladatok viszont mégsem futnak le óránként, tehát akkor kieséses alapon már csak a cron-lynx.sh file-ban lehet a hiba:
/usr/bin/lynx -source http://sajat_doman.hu/cron.php > /dev/null 2>&1
A sajat_domain természetesen behelyettesítve. :)
Ha böngésző címsorból futtatom a http://sajat_doman.hu/cron.php -t, akkor szépen lefutnak az időzített feladatok. A többi paraméter (előtte és utána) nem tudom micsoda, nem lehet hogy az van rosszul beállítva?
Ahonnan kilestem ezt a beállítást: kézikönyv - telepítés - simitások
Tudnátok egy kicsit segíteni, hogy akkor mi lehet rosszul beállítva cron-lynx.sh file-ban?
Poormanscron
Miért nem poormanscront használsz?
Ezek a beállítások a kézikönyvet idézve a "Ha a saját szerverünket üzemeltetjük..." esetre igazak.
Itt a fórum írták
Itt a fórum írták, hogy lehetőleg ne használjuk a poormanscron modult.
Nem tudtok esetleg egy példát írni arra, ha nem saját szerveren szeretnék cront beállítani?
Vagy egy linket hogy hol találok erre valami leírást.
A Drupal többek között azért
A Drupal többek között azért szép, mert ahány ember, annyiféle megoldás létezik.
Én használom a poormanscron-t és semmi bajom nincs vele, és most hogy rákerestem, mire gondolhattál, találtam egy kommentet, ahol még pp is a poormanscron használatát javasolja:
http://drupal.hu/forum/%C3%BAj-felhaszn%C3%A1l%C3%B3k-blokk-nem-megfelel...
Igen, itt meg ellenkezőleg írják
Találtam egy 2010-es újabb hsz-t is ahol meg nem javasolják: http://drupal.hu/forum/modul-vagy-linux-cron
Ha fennállnak azok az okok,
Ha fennállnak azok az okok, amiket ott leírtak, használd a cront. Ehhez viszont a szeveren kell a megfelelő beállításokat elvégezni, nem a drupalban.
cron-lynx.sh
Van annak jelentősége hogy másolatot csinálok a cron-lynx.sh file-ból, mondjuk cron-lynx-2.sh, és ezt adom meg futtatásra?
Eddig nem csináltam másolatot, az eredeti cron-lynx.sh-t írtam át és azt adtam meg futtatásra.
Most kipróbálom így is hátha csak ennyi.
Drupalcron
Használj rendes cron-t, a poormanscron tud okozni néhány váratlan kellemetlen meglepetést, pl. az aggregator modullal. Ha a szolgáltatód nem teszi lehetővé saját cron futtatását, akkot még mindig ott a Drupalcron, ahol regisztráció után fel tudod venni a szükséges oldalakat.
Másik lehetőség lehet, hogy megkéred egy cron futtatására képes tárhellyel rendelkező ismerősödet, hogy ugyan már hívogassa meg óránként a http://te_oldalad.hu/cron.php -t.
Poormanscron-t csak akkor használj, ha tényleg nincs más lehetőséged!
A tárhelyeden elérhető a lynx (szöveges webböngésző) program? Könnyen lehet, hogy nem, esetleg a wget-tel próbáld meg, ezt futtassa a szolgáltatód óránként:
wget -O - -q -t 1 http://te_oldalad.hu/cron.php
Sőt, ha a tárhelyhez van SSH hozzáférésed, akkor a Drush segítségével még könnyebb dolgod van. Amúgy a wget-es parancs szintaxisát innen puskáztam, érdemes végigfutnod. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
eddig a shell script volt beállítva
Mivel megint nem futott le a shell, ezért most már direct a cron.php-t próbálom futtatni így:
0 * * * * /usr/local/bin/php -q/home/sajat_domain/public_html/cron.php
Eddig ez volt:
0 * * * * /usr/local/bin/php -q/home/sajat_domain/public_html/scripts/cron-lynx.sh
Remélem most már 16:00-kor végre le fog futni!
szerintem nem lesz jó
Szerintem nem ez nem lesz jó, mivel nem az a lényeg, hogy a PHP szkriptet belülről futtasd, hanem hogy kívülről http://foobar.com/cron.php révén érd el. Pl. ilyenkor érhetőek el olyan változók, amelyek egy oldallekéréskor jönnek létre.
De hozzáteszem: szerintem -> nem próbáltam.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Igazad volt nem futott le
Most ezzel próbálom:
0 * * * * wget -O - -q -t 1 /home/sajat_domain/public_html/cron.php
Ezután jön majd ez:
0 * * * * wget -O - -q -t 1 http://sajat_domain.hu/cron.php
Egy DirectAdmin felületen lehet az időzített feladatoknál állítgatni.
Az admin ajánlotta a /home/sajat_domain/public_html/... kezdést.
Remélem az utolsó próbám a külső indítás már menni fog!
Ha az sem akkor jönnek a pótmegoldások. :)
(note: szolgáltató: WebHostIcon)
Nem veletlenul irjak, hogy
Nem veletlenul irjak, hogy webrol hivjuk meg a cron.php-t es ne direktbe.
Ha cli-bol szeretned futtatni akkor hasznalj drush-t mert az rendesen csinalja.
Nalam ez van a cron-ban es szemen mukodik:
---
http://drupalaton.hu
Lefutott
Nos ezzel végre lefutott:
0 * * * * wget -O - -q -t 1 http://sajat_domain.hu/cron.php
Remélem ezzel akkor ez megoldódott! :)
Köszönöm mindenkinek a sok helpet!