O víkendu (15:00 až 23:00) probíhá EmacsConf 2023, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy jsou k dispozici přímo z programu.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.
Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.
V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023…
Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 23.11 Topi. Přehled novinek v Changelogu.
Po 4 měsících vývoje byla vydána nová verze 4.2 multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu a na YouTube.
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?
Dobry den.
Cron muze mit jinak nastaveny PATH nez ho ma nastaveny nalogovany root.
Marek
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.
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.)
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.
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.
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.
Tiskni
Sdílej: