• ú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!)
    RAINBOF
    RAINBOF --- ---
    THEODORT: :)

    cca jo proste mam pod paratama par systemu kde obcas neco na co nemam vliv musim opravit takze to spravuju bashem. a protoze me bash bavi tak si takhle pohravam. Nasazeni orchestracnich nastroju zatim neni mozny.
    THEODORT
    THEODORT --- ---
    to vypada jako by tu rainbof vymejslel neco na zpusob ansible nebo puppetu?
    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.
    Kliknutím sem můžete změnit nastavení reklam