Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: Bernard Williams 08 Dubna 2008, 16:19:20

Název: Pravidelné spouštění PHP scriptu [vyřešeno]
Přispěvatel: Bernard Williams 08 Dubna 2008, 16:19:20
Zdravím,

potřeboval bych zjistit, jak nejlíp spouštět na Linuxu PHP script každých 10 min.

Děkuji, Bernard
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Vojtěch Trefný 08 Dubna 2008, 17:04:39
Cron

http://interval.cz/clanky/jak-na-demona-cron/
http://www.foogazi.com/2006/12/07/understand-cron-jobs-in-5-minutes/
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Martin 'Želva' Malý 08 Dubna 2008, 17:20:30
Jestli ještě tohle nevíte, tak pro pořádek:

Udělejte si skript.php a úplně nahoru napište:

#!/usr/bin/php

a pak už pište ty příkazy, snad tam nemusí být ani <?php ?>...
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Bernard Williams 08 Dubna 2008, 21:47:05
Cron
Cron mě zprvu napadl... jiná možnost v Linuxu není? Např. přímo nějakým scriptem?

Udělejte si skript.php a úplně nahoru napište:
#!/usr/bin/php
a pak už pište ty příkazy, snad tam nemusí být ani <?php ?>...
Teď nevím jak to myslíte... souvisí to nějak s pravidelným spouštěním scriptu nebo je to jen jiný způsob zápisu PHP scriptu?
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: truhlik 08 Dubna 2008, 22:57:47
Cron
Cron mě zprvu napadl... jiná možnost v Linuxu není? Např. přímo nějakým scriptem?
Co vam na cronu vadi? Vdyt je to presne urceno pro tenhle ucel pravidelne spusteni skriptu v predem znamych intervalech. Nic lepsiho bych si na to nedokazal predstavit.
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: honorguard 09 Dubna 2008, 00:18:13
No tak mě třeba na cronu vadí že to nemůžu použít u sebe na stránkách protože mám koupenou doménu a hosting u forpsi :D. Takže se přidávám. Nevíte někdo jak spouštět skript pravidelně bez závislosti na návštěvnících stránky?
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Martin 'Želva' Malý 09 Dubna 2008, 15:46:06
Cron
Cron mě zprvu napadl... jiná možnost v Linuxu není? Např. přímo nějakým scriptem?

Udělejte si skript.php a úplně nahoru napište:
#!/usr/bin/php
a pak už pište ty příkazy, snad tam nemusí být ani <?php ?>...
Teď nevím jak to myslíte... souvisí to nějak s pravidelným spouštěním scriptu nebo je to jen jiný způsob zápisu PHP scriptu?
Jestli se nebude chtít spustit normálně, kdy je ve skritu pouze <?php ?>, zkuste popřípadě napsat nahoru #!/usr/bin/php a bude se spouštět jako skript v shellu, nějak tak jsem to chtěl říct...
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Petr125 09 Dubna 2008, 15:55:11
No tak mě třeba na cronu vadí že to nemůžu použít u sebe na stránkách protože mám koupenou doménu a hosting u forpsi :D. Takže se přidávám. Nevíte někdo jak spouštět skript pravidelně bez závislosti na návštěvnících stránky?

Zkus webcron.
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Petr Merlin Vaněček 09 Dubna 2008, 22:02:23
A pokud webcron není dostupný, můžete požádat šťastnější majitelé soukromých/firemních serverů, aby u sebe nastavili crona na wget :)
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: honorguard 09 Dubna 2008, 22:04:12
Určitě to zkusím, jen co budu mít trochu méně práce. Teď dělám na třech projektech najednou a tak moc nestíhám. Naštěstí jeden ve čtvrtek končí. Ale na forum stále chodím a pomáhám, to bych bral jako smrtelný hřích, sem nechodit :-)
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: honorguard 15 Dubna 2008, 00:41:45
Tak jsem nějak tak přemýšlel jak to udělat a napadla mě šílená věc :D. Co dát do cronu příkaz links www.blabla a dát tam adresu toho skriptu? Je teda pravda že musí být zapnuté pc co to bude dělat... ale podle mě by to fungovalo, ne? Jinak Cron neznám, jen vím že vykonává pravidelně úlohy.

PS: Promiňte že jsem needitoval, ale nebyl jsem si jistý jestli by se tu objevilo new...
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Petr Merlin Vaněček 15 Dubna 2008, 07:54:38
Tak jsem nějak tak přemýšlel jak to udělat a napadla mě šílená věc :D. Co dát do cronu příkaz links www.blabla a dát tam adresu toho skriptu? Je teda pravda že musí být zapnuté pc co to bude dělat... ale podle mě by to fungovalo, ne? Jinak Cron neznám, jen vím že vykonává pravidelně úlohy.

PS: Promiňte že jsem needitoval, ale nebyl jsem si jistý jestli by se tu objevilo new...

Ale to je přesně to, co jsem Vám navrhoval :)

1) Buď to udělat sám pomocí crona - ale ne pomocí links (nebo lynx) ale pomocí wget:
Kód: [Vybrat]
wget http://localhost/muj_pravidelne_se_spoustejici_script.php -O /dev/null 2>/dev/null >/dev/null
tenhle příkaz stáhne požadovanou www stránku do /dev/null, pokud nastane chyba, zapíše ji taktéž do /dev/null a pokud bude mít touhu o něčem vyprávět, pošleme to opět do /dev/null

2) Poprosit někoho jiného o to samé (pokud nemáte možnost crona nebo webcrona), ten dotyčný akorát nebude používat
Kód: [Vybrat]
http://localhost/...
ale
Kód: [Vybrat]
http://www.mojesajta.cz/...

:)
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: honorguard 15 Dubna 2008, 08:30:48
aha, nj, takhle je to efektivnější... nemusí se pouštět ten chudák prohlížeč :).
Promiňte, občas jsem trochu pomaleji chápající...
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: Bernard Williams 05 Června 2008, 18:20:01
Jen doplním, že ke spouštění PHP scriptů jako shell je zapotřebí instalace balíku php5-cgi (nejsem si jistý, jestli se musí instalovat i balík php5). Samotný script pak vypadá takto:

Kód: [Vybrat]
#!/usr/bin/php5-cgi -q
<?php
echo "Funguje to!\n";
?>

Parametr -q potlačuje vypisování http hlaviček a <?php ?> ve scriptu musí být.
Název: Re: Pravidelné spouštění PHP scriptu
Přispěvatel: emil54 05 Června 2008, 22:52:16
Nevim teda, na co konkretne to potrebujes, ale pokud to spousteni scriptu nemusi bejt zrovna pinktlich presne po nejakym danym intervalu, tak bych to hodil normalne do scriptu na strance a psat si na disk prazdnej soubor, kterymu vzdycky pri ukonceni scriptu touchnes aktualni cas, pak ho jenom kontrolujes a kdyz preleze pozadovanej interval, pustis script znovu. Takhle jsem mel reseny cache webovek, dokud jsem bastlil stranky na podobnejch silenejch hostingach, jako je pes.
Ma to i tu vyhodu, ze kdyz na strankach neni zadnej provoz, tak taky neni pro koho generovat novej obsah a script se zbytecne nepousti.
Jde to pustit i ze stranky, ktery bezi komletne z cache - tedy cisty HTMLko - strcis to do obrazku.