abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 15:00 | Zajímavý software

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Nová verze

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 6
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 35
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 28
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 19
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (4%)
 (10%)
Celkem 681 hlasů
 Komentářů: 64, poslední dnes 15:27
Rozcestník

Dotaz: PHP funkce COPY ve skriptu volaném CRONem

27.5.2009 16:05 Saix
PHP funkce COPY ve skriptu volaném CRONem
Přečteno: 557×

Zdravím,

vytvořil jsem php skript, který pracuje jak má zavoláním z browseru i z shellu pod rootem (Debian). Nechce mi ale fungovat pod cronem.

Cron zcela určitě běží. Dokonce po zapnutí logování je vidět, že se skript spouští. Potíž je v tom, že nedělá co má. Využívá php funkce copy ke vzdálenému stažení a uložení souboru na serverový disk. Skript je přes cron spouštěn rootem, adresář kam se soubor má uložit má práva na 777 a vlastníka root. Přesto to vypadá, že uložení souboru vždy selže, pokud je skript volán z cronu.

Nějaké nápady co s tím?

Odpovědi

27.5.2009 16:20 marek
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

Dobry den.

Cron muze mit jinak nastaveny PATH nez ho ma nastaveny nalogovany root.

Marek

27.5.2009 16:28 Saix
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

V tom to bohužel taky nebude, protože ve skriptu mám include('config.php') a ten se evidentně načte ze správného adresáře i bez absolutní cesty, protože informace se zapisují do databáze z parametrů v naicludovaném souboru správně.

Když jsem to pak prvně nechal spustit přes cron tak jsem se divil, že se mi soubor nestáhl, ale do databáze se mi data zapsala. Tak jsem to ošetřil podmínkou if(copy(..)) která evidentně vrací false, protože do databáze se nic nezapíše a soubor nestáhne. Přes browser nebo shell to ale funguje.

Takže v cestách bych taky problém neviděl.

27.5.2009 18:19 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
Když to kopírujete ze vzdáleného serveru, tak to asi v copy používáte fopen wrapper, ne? Ten by mohl vracet nějakou hlášku (vizte manuál) copy --> fopen --> Errors/Exceptions If the open fails, the function an error of level E_WARNING is generated. Nevím no, možná jen řeknou "že to selhalo" :) Asi nejsnáž to vyzkoušet udělat fopen(vzdálený soubor) nebo tak něco.
27.5.2009 19:00 Saix
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

nn používám čistě copy(odkud,kam), přičemž odkud je vzdálená URL

Ale ví,m, že fopen funguje protože ten tam taky používám, ale na něco trochu jiného, nejprve si načítám potřebné informace pro následný download z json souboru (něco jako xml), právě přes fopen a to se do databáze zapisuje úspěšně, selže to až při snaze uložit na disk soubor, dokonce i přes fwrite, jak jsem si teď ověřil.

 

KAPITULACE a funkční leč nehezké řešení:

Protože přes webové rozhraní to jde, tak jsem si vytvořil druhý php skript, který spouštím cronem a v něm pouze otevírám a zavírám pro čtení přes fopen ten první, kde parametrem je celá URL adresa. Takže ten první skript spustí ten druhý přes webové rozhraní. Musel jsem ale bohužel zvýšit limity serveru pro zpracování skriptů přes webové rozhraní (execution time, paměť atp.)

27.5.2009 19:04 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
Nestačilo by v cron použiť lynx na ten php súbor na webe?
27.5.2009 19:17 Saix
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

No moje řešení nepotřebuje ani browser, prostě jednoduše fopen, fclose. Lynx by udělal v podstatě to samé. A myslím, že problém s limity by to nevyřešilo. Lynx by sice běžel přímo na tom serveru, ale opět by odkazoval absolutní URL, takže by apache opět bralo v potaz nastavení php pro externí webové rozhraní.

Až budu mít víc času se v tom hrabat, zkusím zapnout na moment logy a zjistit jestli to něco hlásí. Teď by mě ty logy, ale přidělaly moc práce a možná by to nahlásilo jen "copy failed" nebo "permision denied", což by mě zrovna moc nepomohlo. Stejně už nevím jaká práva bych kde mohl nastavit.

27.5.2009 20:15 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
Rozhodně analýzou chybových hlášek se správně (TM) má začínat, až pak psát na abclinuxu.cz ;)
27.5.2009 20:17 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
Samozřejmě pokud máte pocit že ostatní mají víc času než vy tak na chybové hlášky kašlete a hledejte řešení cestou "někdo na abclinuxu něco tipne a já zkusím zjistit jestli se náhodou netrefil".
27.5.2009 21:51 Saix
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

Zdá se mě to nebo si odpovídáš na vlastní příspěvěk? To nevypadá úplně normálně a proto nemá smysl se před tebou ospravedlňovat. Ke svému jednáním mám důvody. A rozhodně bych nechtěl plýtvat něčím časem, kromě toho tvého samozřejmě. Pokud tě totiž odpovědi na dotazy natolik obtěžují, nechápu, co tady vůbec pohledáváš. Nemůžeš přece očekávat, že každý se bude řídit postupem řešení, kterým by ses patrně řídil ty. Existují opodstatnitelné vyjímky. Prosím opusť toto vláknu a již se nevracej :) O tvou pomoc nestojím.

28.5.2009 01:14 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
Klídek, vždyť mám pravdu. Přečíst si chybové hlášky je základ, to není nějaký můj patentovaný postup.
28.5.2009 01:15 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
A pokud chci ke svému příspěvku něco dodat, logicky to řeším reakcí na něj, aby to nezapadlo. Vždyť to je také normální, na to přijdete.
27.5.2009 20:14 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem
nn používám čistě copy(odkud,kam),

vizte ten zmíněný manuál, fce copy. když je "odkud" vzdálená URL, tak ve skutečnosti transparentně používáte fopen wrapper, fce copy sama o sobě by vzdálené kopírování nezvládla.

Zdá se tedy že popisujete dvě různé chyby: 1) copy nefunguje vzdáleně (ale fopen ano), 2) nefunguje zápis na disk.
27.5.2009 21:37 Saix
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

Nefunguje pouze zápis na disk.

27.5.2009 22:37 Saix
Rozbalit Rozbalit vše Re: PHP funkce COPY ve skriptu volaném CRONem

Vyřešeno

Po tolika hodinách jsem nakonec objevil chybu tam kde jsem ji hledal hned na začátku. Cesta v "copy" musí být serverová absolutní cesta. Jenže chybu to nevyhazovalo ani nelogovalo, prostě se to jen nezkopírovalo. Ačkoli jsem zkoušel téměř každou prkotinu na tohle jsem už nějak pozapomněl a to taky proto, že v "include" příkazu to vzalo klidně relativní adresu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.