Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Pravidelné spouštění PHP scriptu [vyřešeno]  (Přečteno 9788 krát)

Bernard Williams

  • Člen
  • **
  • Příspěvků: 103
    • Zobrazit profil
    • Santiaco.cz
Pravidelné spouštění PHP scriptu [vyřešeno]
« kdy: 08 Duben 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
« Poslední změna: 07 Červen 2008, 21:02:29 od Petr 'Merlin' Vaněček »
ASUS NB F3E, Intel Core 2 Duo T5450, 15.4" WXGA, int. graf. karta Intel GMA X3100, 2GB RAM, HD 250GB.
Debian 5 "Lenny" + Windows 7
 Santiaco.cz | Maturitní tabla

Vojtěch Trefný

  • Zasloužilý Ubunťák
  • Guru
  • *
  • Příspěvků: 9307
  • Don Quijote
    • Zobrazit profil

Martin 'Želva' Malý

  • Závislák
  • ****
  • Příspěvků: 2438
  • Zalezlej v krunýři
    • Zobrazit profil
    • Želvův zápisník
Re: Pravidelné spouštění PHP scriptu
« Odpověď #2 kdy: 08 Duben 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 ?>...
Osobní počítače jsou nanic a opravdu nikdy nedělají to, co se po nich chce. Fakt. I když na něm třeba běží Debian, Ubuntu, Arch, Widle, Mac, je to skoro furt to samé... :-(

Pokud mi dáváte zápornou karmu, budu rád, když mi napíšete proč, abych aspoň věděl, jak jsem vám uškodil. ;-)

Bernard Williams

  • Člen
  • **
  • Příspěvků: 103
    • Zobrazit profil
    • Santiaco.cz
Re: Pravidelné spouštění PHP scriptu
« Odpověď #3 kdy: 08 Duben 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?
ASUS NB F3E, Intel Core 2 Duo T5450, 15.4" WXGA, int. graf. karta Intel GMA X3100, 2GB RAM, HD 250GB.
Debian 5 "Lenny" + Windows 7
 Santiaco.cz | Maturitní tabla

truhlik

  • Závislák
  • ****
  • Příspěvků: 1626
    • Zobrazit profil
Re: Pravidelné spouštění PHP scriptu
« Odpověď #4 kdy: 08 Duben 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.
http://wiki.ubuntu.cz/P%C5%99ipojen%C3%AD%20disku
http://www.linuxsoft.cz/article.php?id_article=1351
http://www.root.cz/clanky/klonovani-obrazu-a-dva-monitory-v-linuxu
Citace: Otakar
Červi jsou moc milá zvířátka, zvláště když má jejich chovatel výhrady proti chování tučňáků

honorguard

  • Host
Re: Pravidelné spouštění PHP scriptu
« Odpověď #5 kdy: 09 Duben 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?

Martin 'Želva' Malý

  • Závislák
  • ****
  • Příspěvků: 2438
  • Zalezlej v krunýři
    • Zobrazit profil
    • Želvův zápisník
Re: Pravidelné spouštění PHP scriptu
« Odpověď #6 kdy: 09 Duben 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...
Osobní počítače jsou nanic a opravdu nikdy nedělají to, co se po nich chce. Fakt. I když na něm třeba běží Debian, Ubuntu, Arch, Widle, Mac, je to skoro furt to samé... :-(

Pokud mi dáváte zápornou karmu, budu rád, když mi napíšete proč, abych aspoň věděl, jak jsem vám uškodil. ;-)

Petr125

  • Člen
  • **
  • Příspěvků: 102
    • Zobrazit profil
Re: Pravidelné spouštění PHP scriptu
« Odpověď #7 kdy: 09 Duben 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.

Petr Merlin Vaněček

  • Moderátor
  • Guru
  • ***
  • Příspěvků: 5025
    • Zobrazit profil
    • Lomítkáři
Re: Pravidelné spouštění PHP scriptu
« Odpověď #8 kdy: 09 Duben 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 :)
« Poslední změna: 15 Duben 2008, 09:40:08 od Petr 'Merlin' Vaněček »
Registered Linux user #421281
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

honorguard

  • Host
Re: Pravidelné spouštění PHP scriptu
« Odpověď #9 kdy: 09 Duben 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 :-)

honorguard

  • Host
Re: Pravidelné spouštění PHP scriptu
« Odpověď #10 kdy: 15 Duben 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...

Petr Merlin Vaněček

  • Moderátor
  • Guru
  • ***
  • Příspěvků: 5025
    • Zobrazit profil
    • Lomítkáři
Re: Pravidelné spouštění PHP scriptu
« Odpověď #11 kdy: 15 Duben 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/...

:)
Registered Linux user #421281
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

honorguard

  • Host
Re: Pravidelné spouštění PHP scriptu
« Odpověď #12 kdy: 15 Duben 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í...

Bernard Williams

  • Člen
  • **
  • Příspěvků: 103
    • Zobrazit profil
    • Santiaco.cz
Re: Pravidelné spouštění PHP scriptu
« Odpověď #13 kdy: 05 Červen 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.
ASUS NB F3E, Intel Core 2 Duo T5450, 15.4" WXGA, int. graf. karta Intel GMA X3100, 2GB RAM, HD 250GB.
Debian 5 "Lenny" + Windows 7
 Santiaco.cz | Maturitní tabla

emil54

  • Host
Re: Pravidelné spouštění PHP scriptu
« Odpověď #14 kdy: 05 Červen 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.