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:33 | Nová verze

    Byl vydán Mozilla Firefox 140.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Dle plánu byla odstraněna ikona a integrace služby Pocket. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 140 je již k dispozici také na Flathubu a Snapcraftu.

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

    Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.2 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 11:00 | Komunita

    Na stránkách konference Den IPv6 2025, jež proběhla 6. června v Praze, byly zveřejněny prezentace (PDF) a videozáznamy přednášek.

    Ladislav Hagara | Komentářů: 3
    dnes 05:11 | Nová verze

    Byla vydána verze 2.2.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Ke zhlédnutí jsou videozáznamy přednášek z konference KotlinConf 2025.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Bezpečnostní upozornění

    V linuxových systémech byly odhaleny dvě závažné zranitelnosti – CVE-2025-6018 v rámci PAM (Pluggable Authentication Modules) a CVE-2025-6019 v knihovně libblockdev, kterou lze zneužít prostřednictvím služby udisks. Ta je součástí většiny běžně používaných distribucí, jako jsou Ubuntu, Debian nebo Fedora. Kombinací obou zranitelností může útočník s minimálním úsilím získat root přístup. Vzhledem k jednoduchosti zneužití

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Pozvánky

    OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Humor

    Něco z IT bulváru: Mark Russinovich pozval Billa Gatese, Linuse Torvaldse a Davida Cutlera na večeři a zveřejnil společné selfie. Linus se s Billem ani s Davidem do té doby nikdy osobně nesetkal. Linus a David měli na sobě červená polotrika. Mark a Bill byli v tmavém [LinkedIn].

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | IT novinky

    Evropská unie nově prověřuje obchod, při němž americký miliardář Elon Musk prodal svou sociální síť X dříve známou jako Twitter vlastnímu start-upu xAI za 33 miliard dolarů (712 miliard Kč). Unijní regulační úřady zvažují, zda firmě X neudělit pokutu podle nařízení Evropské unie o digitálních službách (DSA).

    Ladislav Hagara | Komentářů: 10
    včera 04:44 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.06 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    22.6. 13:33 | Nová verze

    Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 9.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 303 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: cron - nespustí příkaz, který v konzoli bez problémů funguje

    mistvan avatar 21.3.2007 17:58 mistvan | skóre: 6 | Pardubice
    cron - nespustí příkaz, který v konzoli bez problémů funguje
    Přečteno: 412×
    Může mi někdo prosím vysvětlit, jak je možné, že přes cron nespustím tento příkaz:
    mplayer -dumpstream http://amp.cesnet.cz:8000/cro-leonardo.ogg -dumpfile ~/mp3/toul$(date)$(time).ogg
    Jinak v konzoli bez problémů funguje, ale v cronu ne. Zkoušel jsem to omezit na:
    mplayer -dumpstream http://amp.cesnet.cz:8000/cro-leonardo.ogg -dumpfile ~/mp3/toul$(date).ogg
    To se pak nahrálo, ale bez přípony (což mi jedno) - výsledný soubor byl např. toulWed. Jenže já potřebuju, aby se to ještě odlišilo podle času nahrání. Může někdo poradit? Díky.

    Odpovědi

    21.3.2007 18:05 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    1.) není nastavené prostředí stejně jako v shelu

    2.) omezení délky řádku

    takže si udělejte skript s

    /usr/bin/mplayer -dumpstream http://amp.cesnet.cz:8000/cro-leonardo.ogg -dumpfile /home/uzivatel/mp3/toul$(date)$(time).ogg

    a teprve ten spouštějte.
    21.3.2007 18:14 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    A pak tu máme ještě FAQ: http://www.abclinuxu.cz/faq/skripty/skript-spousteny-v-cronu-nepracuje-spravne. Koukals, než jsi položil dotaz?
    21.3.2007 21:17 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Jste si jistý, že víte, k čemu slouží příkaz time?
    mistvan avatar 21.3.2007 21:53 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Jo, vím, že s tím "time" to není vůbec korektní, ale mplayer mi to bral a vytvářel se tak název souboru, který se mi přesně hodil. Např.: "toulSt bře 21 21:46:48 CET 2007.ogg" Samozřejmě, šlo by to i takto: toul$(date +%Y%m%d%H%M%S).ogg, ale výsledný "toul20070321215142.ogg" nevypadá tak hezky:-). Docela dlouho jsem se s tím mořil a prohledával i tady diskusi, bohužel na výše uvedený odkaz jsem nenarazil. Dočetl jsem se samozřejmě o rozdílném nastavení prostředí, ale prostě mě nenapadlo, že by to šlo řešit pomocí skriptu. Díky moc za nakopnutí.
    21.3.2007 22:22 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Zkus použít například: date +%Y_%m_%d_%H:%M:%

    a hned poté použij "man time" ať víš k čemu je program time dobrý.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    Josef Kufner avatar 24.3.2007 18:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Mno, já mám radši tohle:
    $ date +'%F_%T'
    2007-03-24_18:28:35
    ale obvykle se toho balastu (pomlčky a dvojtečky) zbavuju, aby to bylo kratší ;-)
    Hello world ! Segmentation fault (core dumped)
    21.3.2007 22:32 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    No, víš ale, že píšeš pěknou blbost a že jsi absolutně nepochopil, to dělá příkaz time? Zkus si napsat do příkazového řádku man time, snad Ti to dojde. Dále si do přík.ř. napiš man date, potom snad pochopíš i, jak správně napsat parametry, aby byl formát datumu podle Tvého přání. Tady máš příklad:
    date "+%Y %m %d %T"
    nebo lépe bez mezer: date +%Y-%m-%d_%T
    
    mistvan avatar 22.3.2007 09:18 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    No dobře, když mi to bylo takhle vysvětleno, tak se polepším. Ale asi absolutně nechápu, proč je takový problém s tím, když použiju time a ono mi to dělá, co chci. Nestojím o nějaké abosolutní chápání, ale o fungování (a to právě absolutní být nemusí). Asi nejsem dost ortodoxní uživatel linuxu, ale když mi něco funguje, tak kašlu na to, že vlastně píšu pěknou blbost (opakuji ale blbost, která funguje). Každopádně mi šlo úplně o něco jiného a nevylučuju možnost, že pak bych se začal zabývat tím, že bych tam time psát vlastně neměl a ani nemusel (nejsem zas takový vůl, abych neuměl číst a jaksi jsem na monitoru před sebou viděl, že dělám něco nepěkného, ale měl jsem prostě v danou chvíli jiný problém), takhle jste to vyřešili za mě, tak jsem aspoň tímto dotazem zabil dvě mouchy jednou ranou.
    22.3.2007 09:30 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Pokud jsem Tě pochopil, cthěl jsi získat datum a čas a myslíš si, že je na to (asi podle Tebe na čas) příkaz time. Jak se Ti tu ale již poněkolikáté snažíme vysvětlit, jseš absolutně vedle. Příkaz time slouží k úplně něčemu jinému (a ani omylem Ti aktuální čas nevrátí). Kdyby sis dal man time, pochopil bys.
    mistvan avatar 22.3.2007 10:03 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    A já se Ti už poněkolikáte pokouším vysvětlit, že o tom vím a že mi to je jedno!!! A hlavně i když se asi budeš stavět na hlavu a kdo ví co ještě, tak mi to prostě dělalo, co jsem chtěl. Ale to by mě stejně zajímalo, jak vysvětlíš, že mi ten time vracel aktuální čas (nebo respektive příkaz napsaný ve výše uvedené pro Tebe z nějakého důvodu naprosto nesnesitelné podobě), čím to teda bylo, asi se to přece jen dělo omylem. Nebudu tady obšírně vysvětlovat historii, jak došlo k tomu, že se tam ten chudák time dostal, o to totiž vůbec v dotazu nešlo. První kolega, co mi odpověděl, tak to pochopil a tím to bylo vyřešeno. Jenže ono to nekončí, já tady musím pořád opakovat, že o tom vím, že je to blbost, ale fungující blbost. Jestli to jde udělat lépe, proč ne. Takže znovu, vím o tom, že time tam vlastně nepatří, já už nevím, jak jinak to mám napsat, aby to Ti to došlo. Možná sem budu asi muset zkopírovat manuálovou stránku, aby jsi mi věřil, že umím napsat "man time".
    22.3.2007 10:31 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    A já se Ti už poněkolikáte pokouším vysvětlit, že o tom vím a že mi to je jedno!!! A hlavně i když se asi budeš stavět na hlavu a kdo ví co ještě, tak mi to prostě dělalo, co jsem chtěl. Ale to by mě stejně zajímalo, jak vysvětlíš, že mi ten time vracel aktuální čas
    Ono to opravdu funguje, time vrací aktuální čas (přesvědčil jsi mě) :-). Důležité ale, že jsi spokojený Ty ;-) :
    $ echo "nazev_souboru=$(date +%Y-%m-%d_%T)$(time)"
    
    real    0m0.000s
    user    0m0.000s
    sys     0m0.000s
    nazev_souboru=2007-03-22_10:25:38
    
    22.3.2007 11:09 rich
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    stejnym zpusobem to funguje i bez toho time
    echo "nazev_souboru=$(date +%Y-%m-%d_%T)"
    nazev_souboru=2007-03-22_13:45:26

    a pokud tam ten time necham tak pak tohle
    echo "nazev_souboru=$(date +%Y-%m-%d_%T)$(time)"
    -bash: command substitution: line 1: syntax error near unexpected token `newline'
    -bash: command substitution: line 1: `time'
    nazev_souboru=2007-03-22_13:47:34
    22.3.2007 11:57 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    A "vo tom to je". Akorát tazatel je spokojený, protože mu to funguje i s tím time. Tak ať si ho tam nechá, když se mu tam líbí, že ano :-) ?
    mistvan avatar 22.3.2007 15:49 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Ano, a o to přesně jde (v této diskusi a vlastně i mimo ní).
    22.3.2007 16:52 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Takže tam k tomu pro Tebe důležitému příkazu time doporučuji přidat ještě toto:
    $(echo "Toto echo a další zbytečné příkazy zde musí být, protože zde chci mít příkazy,
    které nic důležitého nevykonávají, pouze dělají skript nepřehlednější a prodlužují ho  
    (to, aby to vypadalo _nabušeně_). Prostě mám rád zbytečnosti, které mi to komplikují. 
    Ale jinak jsem asi normální. :-O " >/dev/null)
    
    mistvan avatar 22.3.2007 22:23 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Tady někdo musí mít poslední slovo, že?
    22.3.2007 22:28 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    ano

    doufám, že ti už došlo jakou blbost jsi v této diskuzi napsal...
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    mistvan avatar 23.3.2007 08:06 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Mě, snad tobě! Jak jsem říkal, že jsem sám zvědavý kolikrát budu muset napsat tuto větu: Takže znovu, vím o tom, že time tam vlastně nepatří, já už nevím, jak jinak to mám napsat, aby to Ti to došlo. A je to tady, už to zase píšu, opravdu zajímavý úkaz. Chytrému napověz, hloupého nakopni, asi by v tom pořekadle mělo být něco o dalším stupni (lidské) inteligence ... Takže kolikrát ještě ... Jo už vím o co jde, tady někdo nesnese jiný názor, ale to hold nezměním. Takže vysvětlím polopaticky, nepovažuju to za blbost, ale za zbytečnost, která vadí jenom určitému typu lidí, kteří kvůli tomu asi nemůžou ani spát.
    23.3.2007 18:43 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje

    1. Mně, holt, o hromadě chybějících čárek ani nemluvě…

    2. Chybu udělá každý, ale tvrdošíjně trvat na tom, že je to tak vlastně správně, a ještě prohlašovat ostatní za hlupáky, když si dovolí vás na chybu upozornit, to je trochu moc.

    mistvan avatar 23.3.2007 22:02 mistvan | skóre: 6 | Pardubice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Takže znovu, vím o tom, že time tam vlastně nepatří, já už nevím, jak jinak to mám napsat, aby to Ti to došlo.

    PS: Asi nebyla povšimnuta skutečnost, že toto je diskuse na netu a nikoli slohové cvičení. Takže radši znovu, nyní nejsme v hodině češtiny.
    24.3.2007 02:53 Petr_N | skóre: 3 | Všetaty
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    Kdyz tam vlastne nepatri, tak ho tam nepis. Protoze na tvuj problem nema vubec zadny vliv. Na tvuj problem ma vliv, pod jakym uzivatelem a s jak nastavenym prostredim se ten prikaz v cronu spousti, pro zacatek nahrad mplayer, date a ~ uplnyma cestama.
    22.3.2007 12:05 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    V tom případě doporučuji přidat tam ještě $(test)$(echo -n) a podle vlastního výběru dalších pět příkazů, které nic nevypisují…
    frEon avatar 22.3.2007 16:20 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    treba rm -rf / > /dev/null :-)
    Talking about music is like dancing to architecture.
    David Watzke avatar 24.3.2007 17:46 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    # rm -rf / > /dev/null
    rm: cannot remove root directory `/'
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    24.3.2007 21:52 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    2>&1 # :-)
    24.3.2007 16:26 Ash
    Rozbalit Rozbalit vše Re: cron - nespustí příkaz, který v konzoli bez problémů funguje
    příkaz toul$(date) vyprodukuje řetězec St bře 21 21:46:48 CET 2007. pokud mplayer všechny parametry které následují po --dumpfile vezme jako jeden název souboru, tak to funguje. Pokud mu to ale pošle třeba cron, je možné, že ty jednotlivé parametry "toulSt" "bře" "21" "21:46:48" "CET" a "2007" předá s uvozovkami nebo tak něco, čili mplayer jako název souboru dostane jen začátek toho očekávaného řetězce... Když pominu fakt, že spouštění takovéhoto příkazu přímo z crontab je lamerské, bude to chtít tam někam přidat uvozovky třeba
    mplayer -dumpstream http://amp.cesnet.cz:8000/cro-leonardo.ogg -dumpfile "/root/mp3/toul$(date).ogg"
    Že aktuální čas se získává příkazem date a příkaz time souží k něčemu jinému než k získání aktuálního času už bylo řešeno výše :)

    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.