abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    dnes 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    včera 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    včera 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 6
    včera 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    5.5. 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (64%)
     (8%)
     (14%)
     (15%)
    Celkem 129 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    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: 576×

    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.