Autor Zpráva
spoj_alfa
Profil *
Jistě jde o primitivní záležitost, ale ty nejzákladnější informace nikde nemohu nalézt, tedy:
K tomuto účelu by měl sloužit Cron, ale co s tím? Jsou hostingové firmy, které na svých stránkách popisují připravené adresáře, z kterých se uložené skripty spouští např. každý den, hodinu... Žádné takové adresáře pod svou doménou (zobrazím pomocí FileZilla) nevidím. Někde se uvádějí příkazy, které se uloží do souboru "crontab", ale nic takového nefunguje tak jednoduše, jak bych si myslel (pouhým uložením do kořenového adresáře). Když se podívám na informace ISP web, hlásí se aktivní Cron Jobs. V rámci podpory jsem tedy požádal o vysvětlení, jak se s Cronem pracuje, ale z odpovědi moc moudrý nejsem:

vazeny zakazniku vyberete si frekvenci jak casto ma byt script spusten a pak doporucuji prikaz wget (http://linux.die.net/man/1/wg et) nebo /usr/bin/php -f /cesta/k/vasesemu_scriptu.php

1. wget:
Mám dojem, že Cron a wget jsou dvě zcela rozdílné věci (možná s podobným výsledkem), když to bude fungovat, budiž, ale kde příkaz wget použít? Nemám k dispozici žádný příkazový řádek (ten ve vlastním počítači jsem pochopitelně ani nezkoušel) a vložením příkazu do skriptu (např. wget -h) se neděje nic. Na NETu je dostupná instalace wget, ale to je snad nesmysl snažit se něco takového instalovat na server...

2. /usr/bin/php -f /cesta/k/vasesemu_scriptu.php
nemám představu, jestli se jedná o cestu, příkaz, jeho parametry nebo něco zcela tajemného - první dvě možnosti bych vyřadil, ale pokud by šlo o parametry jakéhosi příkazu, zaseknu se podobně jako v bodě jedna. Jinak adresář "bin" nikde na serveru nevidím.

Dokázal by mi tedy někdo jednoduše vysvětlit, jak se s Cronem pracuje?
Díky
Mareček
Profil *
/usr/bin/php je program PHP, něco jako PHP.exe.... To znamená, že pokud spustíš tan příkaz /usr/bin/php -f /cesta/k/vasesemu_scriptu.php , dáš povel PHP, aby vykonalo skript /cesta/k/vasesemu_scriptu.php ..... Kompletní cestu k souboru zjistíš například přes phpinfo();

:)
sysel
Profil
S výhradou možných nepochopení té či oné strany:
1. vyberte si četnost spouštění svého příkazu (1x týdně, 1x za den, 1x za měsíc ...)
2.
--a) pokud si přejete automaticky synchronisovat obsah adresářů uložených u nás, sestavte si příkaz wget dle návodu na uvedené url (zejména tedy variantu wget --mirror)
--b) pokud chcete pravidelně spouštět svůj PHP script (třeba pro údržbu ...), použijte příkaz:
>/usr/bin/php -f /cesta/k/vasesemu/scriptu/vas_script.php

Kam tyto údaje máte zapsat z Vašeho popisu nedovedu odhadnout, ale příslušný parser z nich patrně vytvoří zápis do tabulky crontab, kterou systémový daemon cron pravidelně prohlíží a vykonává záznamy, které jsou právě k provedení. Vám do tabulky crontab nelze dát přímé oprávnění k zápisu, protože se nachází v systémové oblasti a smí do ní z bezpečnostních důvodů zapisovat pouze administrátor root. Váš script bude, předpokládám, proveden se stejnými právy, jako jiné Vaše scripty.
spoj_alfa
Profil *
Mareček:
stejnak mi ale není jasné, kam ten příkaz napíšu - do skriptu stejně jako např. phpinfo(); ?
Takhle mi to vypíše akorát chybovou hlášku:

zkoušel jsem /usr/bin/php -f /test/uloz_pocasi.php; nebo /etc/php -f /test/uloz_pocasi.php; (phpinfo() hlásí pro php.ini adresář etc) ,nebo ../etc/php -f /test/uloz_pocasi.php; - nevím, ale takhle to asi nepůjde...
Mareček
Profil *
[#4] spoj_alfa
Máš vlastní server??? Jestli jo, tak stačí napsat "crontab -e" bez uvozovek, a soupnout tam ten kod :)
sysel
Profil
Hm, jak jste spojen se serverem? Přes telnet/ssh popřípadě jinou konsoli, nebo máte k disposici pouze ftp připojení?
spoj_alfa
Profil *
Vysvětlim, jak to dělám a třeba je něco úplně špatně nebo chybí"

Když jsem chtěl do vlastního počítače Apache a podporu PHP (mám WinXP), tak i přes veškeré návody (např. Kosek), ale i jiné vč. orig.manuálů nikam nevedlo a nebylo funkční (částečně hlásí že je vpořádku, ale už na počátku při použití SSI jsem skončil na chybových hláškách s nespecifikovanou chybou). Vše co vytvořim a vyžaduje server, (SHTML, PHP) odešlu přes FTP a pomocí prohlížeče zobrazim. Hosting server nabízí podporu všeho možného a já se to zatím postupně učím, ale nejsem schopen využít ani polovinu toho, co je zde možné.
Tedy vše, co mám k dispozici, je adresní řádek prohlížeče a možnost připravit>>odeslat skript.
Protože výše uvedené příkazy ve skriptu nic nedělají a s adresním řádkem prohlížeče si nijak nepomůžu, nemám vůbec představu co s těma příkazama nebo spíš kam s nima.
Mareček
Profil *
Tak to stačí napsat na podporu tvého hostingu, že potřebuješ nastavit cron /usr/bin/php -f /cesta/k/vasesemu_scriptu.php , určitě ti to nastvěj :)
spoj_alfa
Profil *
pravděpodobně to teď nakonec udělám, ale jde tu taky tak trochu o něco jiného - chodí za mnou lidi, ptají se a chtějí opravit tohleto, zprovoznit támhleto, ale jinak je vůbec nezajímá jak to dělám nebo proč se to vůbec stalo. Mě to ale zajímá, takže pokud se teď kvůli funkčnosti spokojím s nastavením od podpory hostingu, dřív nebo později se k tomu stejnak vrátim.

Ale jinak... musim uznat, že to nejjednodušší řešení nechat si to nastavit mne zatím nenapadlo.

Alespoň by mne zajímalo, co bych k takovému nastavení např. Cronu kromě jednoduchých nástrojů PSPad >> FileZilla >> Firefox ještě potřeboval.

Jinak díky vám oboum za zájem a odpovědi i v tuhle brzkou/pozdní dobu.
Mareček
Profil *
Nemáš zač, v ráci je nuda, aspoň takhle se zabavim :)
Co k tomu potřebuješ???
Potřebuješ mít SSH přístup na server, a dostatečná práva pro nastavování CRONu... Pak si stačí stáhnout nějaký SSH klient, já používám např. putty. Pak se přihlášíš do TUI (textové uživatelské rozhraní), a můžeš si příkazama nastavovat co se ti zlíbí :)
Mareček
Profil *
Mareček:
Mělo tam být v práci * :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0