• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    DELVITLinux pro zacatecniky a obycejne uzivatele (NO FLAMES!)
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Sorry, nemyslím to zle. Ale mám zkušenosti, že když se člověk dostane do takovéhle v situaci v Linuxu, tak je lepší si dát odstup, kouknout se na problém celkově a najít efektivnější a lepší řešení, který existuje. Rád se pasuju do role užitečného idiota, sorry.
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Nějakej obecnější popis problému, než nefunguje mi sed.
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: To jo, ale čeho chceš prosím dosáhnout? Mohl by's popsat, co vlastně řešíš?
    RAINBOF
    RAINBOF --- ---
    GIOMIKY:
    [RAINBOF @ Linux pro zacatecniky a obycejne uzivatele (NO FLAMES!)]

    Ze jsem hledal jak vyndat ze souboru z prostredka vyndat radek kdyz vim co v nem je. To ze je to cron neni az tak dulezity. Prijde mi to jako zajimavej problem.
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Hmm... upřímně? Stále jsem nepochopil, co máš za problém.
    RAINBOF
    RAINBOF --- ---
    Ale ze jsme se tu sesli tak pekne tak otazecka, na komentare. Proc se lidem nelibi komentovani mezi funkci a telo ?

    function bagr()
    #tudleta funkce dela tuto a tamto
    {
    kod mistra leonarda
    
    }
    
    #tudleta funkce dela tuto a tamto
    function gabr()
    {
    kod mistra leonarda
    
    }
    RAINBOF
    RAINBOF --- ---
    dobre, ja na to nechtel reagovat, kdyz se tu resilo sqlite :) ja vim jak funguje cron.

    Je vam to k prdu kdyz mate soubor kde tech tasku je mnoho. coz je presne to, co jsem resil. Zakladat a mazat tasky je vpohode kdyz jsi si je vyrobil sam zejo.
    GILHAD
    GILHAD --- ---
    Normálně mám v /etc/cron.d/ řadu souborů, kde každý řeší jednu věc.
    Přídání další věci k pravidelnému spouštění dělám přidáním dalšího souboru (a do dvou minut to začne fungovat)
    Zrušení věci řeší zrušení souboru (nebo zakomentování jeho obsahu - to podle potřeby)
    Změny dělám přez VIM jako root, ale nebyl by problém příslušný soubor prostě nechat vygenerovat nějak automaticky.
    ---
    Další vychytávka je, že mám v cronu soubor, co mi jako uživatel gilhad projde každou hodinu /home/gilhad/cron.hourly/* a postupně pospouští co najde spustitelného (většinou pár řádkové shell skripty). Stejně tak mám pro /home/gilhad/cron.daily/* a /home/gilhad/cron.5min/*
    ---
    Pokud by sis nějak ošetřil race conditions errors - nejlíp tak, aby prostě nebylo je potřeba řešit - tak si podobnýma trikama můžeš velice jednoduše přidávat/ubírat/modifikovat co se má kdy pravidelně spouštět
    GIOMIKY
    GIOMIKY --- ---
    GIOMIKY: 22:20 sry
    # min hour day/month month day/week
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Tak jsem si to znovu celé přečetl... možná chceš automaticky upravovat cron?
    linux - How can I programmatically create a new cron job? - Stack Overflow
    https://stackoverflow.com/questions/610839/how-can-i-programmatically-create-a-new-cron-job
    A myslím, že řešení je takový, že do /etc/cron.d umístíš soubor a tam si vložíš soubor. A do toho si zapíšeš rozvrh, jakej chceš.
    Koukni, jestli ti to podporuje distro a třeba namátkou tam mám dotazník oblíbenosti balíčků:
    root@deb:/etc/cron.d# cat popularity-contest
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    20 22 * * * root test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond
    To bzch ch8pal tak, 6e mi běží každý den ve 20:22.
    Je to, na co se ptáš?
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Jsem v koncich. Promin, nepochopil jsem zadani.
    RAINBOF
    RAINBOF --- ---
    GIOMIKY: mrkni na cron soubor jak vypada. Vyfiltrujes si grepem radek, a ten pak hledas v souboru kde ho nechces. :)
    RAINBOF
    RAINBOF --- ---
    GIOMIKY: uve_filter je promena :)
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF:
    Zkus tohle:
    Sed cheat sheet - Linux Digest
    Sed cheat sheet - Linux Digest
    https://linuxdigest.com/howto/sed-cheat-sheet/
    Jinak tohle:
    sed '/\'"$uve_filter"'/d' cosi
    Mi nedava moc smysl. Protoze znak $ znamena konec radku. Kdyz chces regexpovat dolar, tak to musis escapnout, tedy:
    $ cat echo
    uve_filter=$(cat cosi|grep "hustovyraz)
    @blalaba bla 13213 /neco/nekde/spustit/jako/v/cronu $dementni_parametr
    $ sed -i '/=\$/d' echo
    $ cat echo
    @blalaba bla 13213 /neco/nekde/spustit/jako/v/cronu $dementni_parametr
    Ale nevim, jestli je to, na co se ptas a dobre rozumim otazce...
    GIOMIKY
    GIOMIKY --- ---
    GIOMIKY:
    napr.: https://github.com/mtatton/pydbro/blob/master/pydbro/py_sqlite_db.py
    Předpokládám, že borde dělá fakt, že je to csv, který má sloupce oddělený uvozovkama, jak to tak poslouchám.
    Ale možná se pletu.
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: A nechces si to nahrat do sqlite a dotazovat se pres python?
    RAINBOF
    RAINBOF --- ---
    ... Ale ze bych uplacal bash cli pro cron :) ?
    RAINBOF
    RAINBOF --- ---
    MLEKAR_STEIN: ten cat zcela rozhodne ma vic radku.

    Co jsem resil vlastne bylo jen to, ze jsem z cronu potreboval managovat zaznamy. Kupodivu cron nema zrejme zadne cli ktere by to umelo.

    Bohuzel to nakonec vyresilo to ze v. Cronu nebude nic tim se problem resi.
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    RAINBOF:
    pokud tam muzou byt posmerna lomitka, tak bych pro zacatek pouzival v sedu jinej delimiter nez je posmerne lomitko.
    to je prvni vec, co to bude rozkopavat.
    druha vec, ten cat v prikladu muze mit vice radek, to taky muze rozkopnout regex.
    treti vec, pokud je to vic veci, co je potreba udelat, opati se napsat si sed script.
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Zkusil bych pročíst man straánku (man sed), jestli na to není nějakej přepínač, kterej by ti pomohl...
    Kliknutím sem můžete změnit nastavení reklam