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í
×
    včera 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 569 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    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: 411×
    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.