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

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 1
    dnes 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

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

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 753 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 397×
    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.