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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 1
včera 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
včera 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 4
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 27
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 795 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: BASH - jednoduchý skript

1.11.2004 09:43 Petr Dvořáček
BASH - jednoduchý skript
Přečteno: 439×
Dobrý den.
Napsal jsem si tento jednoduchý skript:

/bin/ping 10.11.10.2 -c 10 | grep % > /work/file01.db
/bin/cat /work/file01.db | gawk '{print$6}' > /work/file01.db

1. řádek: Tím mu říkám, aby pustil 10x ping na 10.11.10.2 a z toho mi vysosnul rádek, ve kterém se nachází hodnoty "%".

2. řádek: Zde požaduji, aby mi přečetl vytvořený soubor file01.db a z toho mi vysosnul 6 sloupec (ten obsahuje x% loss) a hodnotu mi poslal do /work/file01.db (přepíše původní soubor)

A teď k věci.
Jak docílím toho, že když bude hodnota v souboru file01.db větší než například 5%, tak aby mi to obsah souboru poslalo na mail nekdo@nekde.net ?

Chtěl bych si takto udělat takový úplně nejjednodušší skript na monitorování dostupnosti brány.

Prosím, nepište mi věci typu "Zkus Nagios..." Ano, Nagios skutečně používám a nemohu si ho vynachválit. Opravdu to teď ale potřebuji vyřešit tak, jak se zde dotazuji.

Děkuji za každou Vaši odpověď.

Odpovědi

1.11.2004 10:05 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
To je zase jednou popisný titulek... <sigh>

Druhý řádek je příspěvek do soutěže o nejzbytečnější cat. Jo, a jestli je skutečně vstupní a výstupní soubor stejný, tak je navíc i nefunkční.
if perl -nle 'exit(/(\d+)%/ && $1<5)' /work/file01.db; then
  alespoň_5_nebo_se_nematchlo
else
  kdepak
fi
1.11.2004 10:26 Petr Dvořáček
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
... :) ...

Děkuji, to je přesně to, co jsem potřeboval najít. Ehm, prosím, mohu-li Tě ještě otravovat, jak by jsi to vyřešil místo toho cat ? použít less ? nebo jak ? V tomto jsem LAMA
Stanislav Brabec avatar 1.11.2004 11:30 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Místo

cat soubor | příkaz

stačí

příkaz <soubor

(viz man bash)
1.11.2004 10:37 Tomáš | skóre: 29 | blog: Tomik
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
1. zřetezit to do jednoho příkazu (viz Yetiho příspěvek) a nacpat to do proměnné. Pokud pomocný soubor nepotřebuješ k jiným účelům, tak ho nepoužívej.

2. Zbavit se znaku % -- sed (s/%//) (to se vlastně taky dá připojit za tu první kolonu)

3. Zbyde číslo, to už se dá porovnat se zadanou hodnotou

4. Když už máš rozhodnuto, tak se nechá poslat mail (man mail).

Nevím proč, ale u mě je ta hodnota x% v $7, to bude asi jinou verzí pingu.

K programování v Bashi vyšel nádherný seriaál od Satrapy na www.root.cz.
1.11.2004 10:49 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Celej ten soubor tak jak ho pouzivas je zbytecnost, melo by stacit neco jako
if [`ping -c 10 -q IP | sed -n 's/^.*\([0-9]*\)%.*$/\1/p'` -gt 5]; then
  posli mi mail
else
  nic mi neposilej
fi
1.11.2004 11:10 Petr Dvořáček
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Dělám něco špatně ?

/bin/mail -s HLASENI nekdo@nekde.net TEST SKONCIL USPESNE SPOJ JE OK
1.11.2004 11:14 jm
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
No a co to hlasi? :-)
1.11.2004 11:20 Petr Dvořáček
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
No právě že nic. Zůstane to viset dokud mu nedám CTRL+C.
1.11.2004 11:31 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript

Neceka to spis na neco jako EOF (tzn. Ctrl+D)?

Pak by bylo asi spravne spis tohle:

/bin/mail -s HLASENI nekdo@nekde.net << _EOF_
TEST SKONCIL USPESNE SPOJ JE OK
_EOF_

1.11.2004 11:45 jm
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Tohle mi funguje bez problemu:

echo -e "Test probehl uspesne\n" | mail -s "HLASENI" ja@moje.adresa
1.11.2004 12:10 Petr Dvořáček
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Díky, problém vyřešen.
1.11.2004 12:45 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Dneska budu rychlejší než Pichi... ;-)

Chceš-li se vyhnout soutěžím o nejzbytečnější příkazy, tak
mail -s "HLASENI" ja@moje.adresa <<<"Test probehl uspesne\n"
1.11.2004 12:46 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Bez \n.
1.11.2004 12:57 jm
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Nechci se vyhnout, me se to tak libi... ;-)
1.11.2004 13:21 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Safr. To je tím, že občas musím pracovat ;-)
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
1.11.2004 13:42 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Ale když už, tak už. Bez perlu, sedu, awk, head, tail a cut třeba takhle:
a=$(ping -q -c 10 host)
a=${a#*,*, }
if [ "${a%%%*}" -gt 5 ]
then
  mail -s "HLASENI" ja@moje.adresa <<<"Cosik blbě"
else
  mail -s "HLASENI" ja@moje.adresa <<<"Test probehl uspesne"
fi
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
1.11.2004 11:30 Kamil | skóre: 18 | blog: bejkarny
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Zkus to takhle :)
echo "blabla' |mail -s "subj." kdo@kde.cz
--JP
1.11.2004 14:21 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Jeste k tomu gawk {print$6}' file >file. V čem je problém? bash se forkne, změní svůj fd(1) (stdout) na file, truncatne ho (smaže), nastaví args na {print$6}' file a exec() (spustí) gawk. (V tvém případě s cat ještě doplněno o vytvoření pipe, navázání fd(0) na pipe, další fork, navázání fd(1) na druhý konec pipe a exec catu) Z toho je na první pohled znát, že ten gawk (nebo v tvém případě cat) bohužel bude pracovat s prázdnám souborem ;-) Nepříjemné, že? Naštěstí není potřeba ten dočasný soubor vůbec vytvářet, jelikož ta kolona může být dlouhá, co se ti vejde do 64kB :-) , ale pro příště na tohle nezapomínej, protože pak se všichni diví, proč jim ten soubor zmizne.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
1.11.2004 14:31 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
Mno, já tvému popisu sice rozumím, ale jen díky tomu že vím, jako to funguje...

Lidsky bych řekl, že se soubor nejprve na konci roury otevře pro zápis (čímž se smaže obsah). Pak se z něj teprve začnou číst data (na začátku roury), která už tam ale nejsou. Takže se ve výsledku akorát promění v prázdný soubor.
1.11.2004 15:16 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
No já jsem to taky chtěl popsat s rourou, jenže jak na potvoru se v tomto případě žádná roura nevytváří, ale
close(1);
creat("file", getumask());
případně
dup2(creat("file", getumask()), 1);
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
1.11.2004 16:16 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: BASH - jednoduchý skript
V původním druhém řádku ještě s catem se vytvářela. Že si to sám děláš těžší, za to já nemohu ;-)

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.