• ú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!)
    Každý kdo chce poradit ohledně linuxu je na spravném místě. Přímý následovník audítka stejného názvu. Pravidla jsou stejná jako predchozí, hlavně žádné FLAME!
    Na Hompage klubiku najdete alternativy k aplikacim. Snazim se drzet ten list v aktualizovane a hlavne zajimave alternativy, kdyby ste chteli neco pridat do listu dejte vedet.

    Jak se správně ptát:

    1) Popište příznaky problému nebo chyby co možná nejjasněji a nejpečlivěji.
    2) Popište prostředí, ve kterém chyba nastává, tj. architekturu, operační systém, aplikaci, verzi, atd. Jmenujte distribuci a verzi systému (např. Red Hat 8.0, Slackware 5.1, atd.).
    3) Popište, jak jste se k chybě dostali, a jak jste se ji pokusili odhalit, isolovat a pochopit ještě předtím, než jste se zeptali.
    4) Popište relevantní změny v konfiguraci, které jste v poslední době provedli.
    5) Pokuste se už předem zodpovědět případné doplňující otázky.
    6) Na dlouhé výpisy použijte služby na to určené - pastebin - http://pastebin.com/
    rozbalit záhlaví
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: Hmm... upřímně? Stále jsem nepochopil, co máš za problém.
    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...
    RAINBOF
    RAINBOF --- ---
    GIOMIKY: spatne si to poradi s koncema radku
    kdyz je vstupem cosi jako

    uve_filter=$(cat cosi|grep "hustovyraz) 
    tak potom

    sed '/\'"$uve_filter"'/d' cosi 

    neudela co chci. Nehlede na to ze kdyz vstupem jsou veci jako

    @blalaba bla 13213 /neco/nekde/spustit/jako/v/cronu $dementni_parametr

    nejsou v tom souboru dobre odchytitelny. ale pravdou je ze v awk a sed jsem zacatecnik.
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    REFLEX: jo.

    zkontroloval bych tohle
    [GIOMIKY @ Linux pro zacatecniky a obycejne uzivatele (NO FLAMES!)]
    tj. jaky se ti pousti shell

    pokud se ti pousti bash
    jako cilovy uzivatel, tj po "su - uzivatel"
    mas tam soubor co se jmenuje ".profile"?
    mel by obsahovat par blbosti, mimo jine v nejakych podminkach neco takovehohle:
    '. "$HOME/.bashrc"'

    to nacte zaroven soubor .bashrc

    pustis "set |grep SERVER_ENV " vidis tu promennou?



    sice by to melo to "su -" pretlouct,
    ale zkusil bych do ssh connection pridat neco jako "-o PermitUserEnvironment no"
    REFLEX
    REFLEX --- ---
    MLEKAR_STEIN: takze kdyz dam ale "su - uzivatel" tak to bere /home/uzivatel/.bashrc ? jestli jo tak to mam dobre
    GIOMIKY
    GIOMIKY --- ---
    RAINBOF: A v čem jsi nespokojený?
    RAINBOF
    RAINBOF --- ---
    GIOMIKY: ja jestli neni neco jinyho sed pouzivam.
    GIOMIKY
    GIOMIKY --- ---
    AXTHEB: ;]
    > cat echo
    1 ahoj
    2 cay
    3 bye
    > sed -n 2p echo
    2 cay
    >
    Kliknutím sem můžete změnit nastavení reklam