Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních
… více »Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.
Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.
VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.
Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).
Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.
Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Dec 9 22:56:21 debian kernel: [26358.810940] pdflush(26216): WRITE block 61624 on sda1 Dec 9 22:56:21 debian kernel: [26358.810946] pdflush(26216): WRITE block 61632 on sda1 Dec 9 22:56:21 debian kernel: [26358.810953] pdflush(26216): WRITE block 61640 on sda1 Dec 9 22:56:21 debian kernel: [26358.810959] pdflush(26216): WRITE block 61648 on sda1 Dec 9 22:56:21 debian kernel: [26358.810966] pdflush(26216): WRITE block 61656 on sda1 Dec 9 22:56:21 debian kernel: [26358.810972] pdflush(26216): WRITE block 61664 on sda1 Dec 9 22:56:21 debian kernel: [26358.810978] pdflush(26216): WRITE block 61672 on sda1 Dec 9 22:56:21 debian kernel: [26358.812821] pdflush(26216): WRITE block 61680 on sda1 Dec 9 22:56:21 debian kernel: [26358.812889] pdflush(26216): WRITE block 31213928 on sda3 Dec 9 22:56:21 debian kernel: [26358.812998] pdflush(26216): WRITE block 33688 on sda3 Dec 9 22:56:21 debian kernel: [26358.812998] pdflush(26216): WRITE block 33696 on sda3 Dec 9 22:56:21 debian kernel: [26358.812998] pdflush(26216): WRITE block 33704 on sda3 Dec 9 22:56:21 debian kernel: [26358.813141] pdflush(26216): WRITE block 33712 on sda3 Dec 9 22:56:21 debian kernel: [26358.814199] rsyslogd(7620): dirtied inode 63861 (kern.log) on sda1 Dec 9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29746912 on sda1 Dec 9 22:56:21 debian kernel: [26358.814199] rsyslogd(7620): dirtied inode 14949 (syslog) on sda1 Dec 9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29747048 on sda1 Dec 9 22:56:21 debian kernel: [26358.814199] rsyslogd(7620): dirtied inode 63867 (debug) on sda1 Dec 9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29747176 on sda1 Dec 9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29747184 on sda1vypisuji si ho pomoci
tail -n $lines /var/log/syslog > /tmp/iopotreboval bych ho asi uz v tom souboru io zmensit o ty polozky ktere maji stejny command takze pdflush rsyslogd atd.. takze by se mi z 10 zobrazil jen dva prislusneho commandu. Dale snim pak pracuji:
tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s "" | cut -d\ -f8,9,10,11,12,13,14Pomuze mi nekdo prosim? Dekuji vsem.
Jestli jsem Tě správně pochopil, tak chceš pracovat pouze s posledním rsyslogd a posledním pdflush. V tom případě, bych si rovnou přesměroval výsledek do dvou souborů:
$ cat vstup.log |grep pdflush |tail -n1 > pdflush.log
$ cat vstup.log |grep rsyslogd |tail -n1 > rsyslogd.log
Buď více jednoznačný, uveď konkrétní příklad a krok za krokem co chceš. Takhle to vypadá, že pdflush pro Tebe není definice celého řádku, ale pouze text, který chceš z některých řádků odstranit.
tail -n $lines /var/log/syslog > /tmp/ioje jasny je to vycuc z syslogu s poctem radku ktere si pri vstupu definuji, ten soubor potom vypad nejak takhle
Dec 10 08:43:32 debian kernel: [32937.533261] pdflush(26216): WRITE block 26104 on sda3 Dec 10 08:43:32 debian kernel: [32937.533269] pdflush(26216): WRITE block 26112 on sda3 Dec 10 08:43:32 debian kernel: [32937.533276] pdflush(26216): WRITE block 26120 on sda3 Dec 10 08:43:32 debian kernel: [32937.533283] pdflush(26216): WRITE block 26128 on sda3 Dec 10 08:43:32 debian kernel: [32937.533290] pdflush(26216): WRITE block 26136 on sda3 Dec 10 08:43:32 debian kernel: [32937.533298] pdflush(26216): WRITE block 26144 on sda3 Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 26152 on sda3 Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 57420320 on sda3 Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 57420392 on sda3 Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 57426512 on sda3 Dec 10 08:43:33 debian kernel: [32937.918755] xmms(14944): READ block 173927 (Dj Bobo - Pray.mp3) on sda3 Dec 10 08:43:33 debian kernel: [32938.326550] tail(15416): READ block 4313 (io) on sda1 Dec 10 08:43:33 debian kernel: [32938.326550] tail(15416): READ block 4313 (io) on sda1 Dec 10 08:43:34 debian kernel: [32939.350739] tail(15429): READ block 4313 (io) on sda1 Dec 10 08:43:34 debian kernel: [32939.350739] tail(15429): WRITE block 4313 (io) on sda1 Dec 10 08:43:36 debian kernel: [32941.120067] tail(15442): WRITE block 4313 (io) on sda1 Dec 10 08:43:36 debian kernel: [32941.120310] tail(15442): WRITE block (io) on sda1a to si nasledne vypisuji na vystup pomoci
tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14takze z toho odstranim datum atd.. a ponecham si jen tenhle vystup a ten jde na obrazovku jednou za sekundu. Jak je ze souboru vidno tak v te jedne sekunde stejny program zapise na disk a to je v logu videt trebaako pdflush xmms a tail, ja bych chtel udelat selekci techto procesu tak aby sel na vystup jen vzdy jeden z danych vzroku, je jedno kterej , treba hned prvni a nebo posledni, takze by na vystupu uz nebylo
xmms(15960): READ block 103229064 on sda3 xmms(15960): READ block 103229248 on sda3 xmms(15960): READ block 103229520 on sda3 pdflush(26216): WRITE block 41520 on sda3 pdflush(26216): WRITE block 41528 on sda3 pdflush(26216): WRITE block 41536 on sda3ale jen
xmms(15960): READ block 103229064 on sda3 pdflush(26216): WRITE block 41536 on sda3
V tom případě si definuj, jakou minimální velikost může mít řetězec "program(PID):" a použij |uniq -w8
, kde číslo osm, znamená počet znaků, které se porovnávájí.
#!/bin/sh if test $1 = || test $2 = then echo "IO je utilita na sledovani cteni a zapisu na disk." echo -e "pouzij: io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m" echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m" echo "ukoncis ctrl+c" echo -e "\033[1mver. 0.2\033[0m" exit; fi until test 1 = 2 do clear; lines=$1; interval=$2; echo 1 > /proc/sys/vm/block_dump tail -n $lines /var/log/syslog > /tmp/io # | uniq -w10 #| sort | uniq echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.2" echo -e "\033[1mCOMMAND(PID)\033[0m \033[1mI/O\033[0m" echo "------------------------------------------------" export GREP_COLOR="1;32" tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 export GREP_COLOR="1;31" tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 rm /tmp/io sleep $interval doneChtel bych do nej nejak prihodit stisknuti klavesy q pro ukonceni aplikace stim ze by jeste pred ukoncenim provedl echo 0 > /proc/sys/vm/block_dump aby se neplnil log, pokousel jsem se pomoci read ale ten ceka na stisknuti klavesy enter, pokousel jsem se i na pozadi ale nepomohlo nic.
read
prijima parametr -n N
, kde N
udava, kolik se ma precist znaku, takze nebude cekat nez nekdo ukonci radek enterem #!/bin/sh if test $1 = || test $2 = then echo "IO je utilita na sledovani cteni a zapisu na disk." echo -e "pouzij: io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m" echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m" echo "ukoncis ctrl+c" echo -e "\033[1mver. 0.2\033[0m" exit; fi until test 1 = 2 do clear; lines=$1; interval=$2; read -n 1 stisk && if [ $stisk = q ]; then echo 0 > /proc/sys/vm/block_dump exit; else echo 1 > /proc/sys/vm/block_dump tail -n $lines /var/log/syslog > /tmp/io #| sort | uniq echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.2" echo -e "\033[1mCOMMAND(PID)\033[0m \033[1mI/O\033[0m" echo "------------------------------------------------" export GREP_COLOR="1;32" tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 export GREP_COLOR="1;31" tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 rm /tmp/io sleep $interval echo 0 > /proc/sys/vm/block_dump fi done
Proměnou $stisk dej do uvozovek a porovnávěj pomocí ==.
#!/bin/sh if test $1 = || test $2 = then echo "IO je utilita na sledovani cteni a zapisu na disk." echo -e "pouzij: io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m" echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m" echo -e "\033[1mver. 0.3\033[0m" exit; fi until test 1 = 2 do clear; lines=$1; interval=$2; read -s -n 1 stisk && if [ "$stisk" == q ]; then echo 0 > /proc/sys/vm/block_dump exit; else echo 1 > /proc/sys/vm/block_dump tail -n $lines /var/log/syslog > /tmp/io #| sort | uniq echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.3" echo -e "\033[1mCOMMAND(PID)\033[0m \033[1mI/O\033[0m ukoncis pomoci \033[1mq\033[0m" echo "------------------------------------------------" export GREP_COLOR="1;32" tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 export GREP_COLOR="1;31" tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 rm /tmp/io sleep $interval echo 0 > /proc/sys/vm/block_dump fi donestale mi read nebezi na pozadi a pri zopakovani ciklu se znovu dotazuje na zmacknutu klavesnice, zmaznu, vse probehne ale po skonceni znovu a porad kola.
Tak to si nerozumíme, myslel jsem, že chceš program zastavovat při každém průchodu cyklem a bránily tomu jen dvě zmíněné chybičky. Pokud chceš využít read, tak musíš spustít svůj skript na pozadí a v tom skriptu na popředí budeš čekat na vstup od uživatele, poté zašleš signál skriptu běžícímu na pozadí a máš přesně co chceš. Nebo to vyřeš jednoduše, pomocí Ctrl+C viz níže, navíc na tento způsob ukončení jsou všichni zvyklí. To co zkoušíš implementovat Ty, je exotické řešení.
#!/bin/sh if test $1 = || test $2 = then echo "IO je utilita na sledovani cteni a zapisu na disk." echo -e "pouzij: io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m" echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m" echo -e "ukoncis pomoci \033[1mctrl+c\033[0m" echo -e "\033[1mver. 0.3\033[0m" exit; fi until test 1 = 2 do clear; lines=$1; interval=$2; echo 1 > /proc/sys/vm/block_dump tail -n $lines /var/log/syslog > /tmp/io #| sort | uniq echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.3" echo -e "\033[1mCOMMAND(PID)\033[0m \033[1mI/O\033[0m ukoncis pomoci \033[1mcrtr+c\033[0m" echo "------------------------------------------------" export GREP_COLOR="1;32" tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 export GREP_COLOR="1;31" tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\ -f7,8,9,10,11,12,13,14 | uniq -w8 rm /tmp/io sleep $interval konec() { echo 0 > /proc/sys/vm/block_dump exit; } trap 'konec; exit 0' INT done
Nebo použij signály tj. standartní způsob ukončení pomocí Ctrl+C viz Ladění skriptů, odchytávání signálů a příklady...
sed -i '/sed/d' /tmp/io sed -i '/tail/d' /tmp/io sed -i '/io.sh/d' /tmp/io sed -i '/clear/d' /tmp/io sed -i '/grep/d' /tmp/io
sed -i '/sed/d
/tail/d
/io.sh/d
/clear/d
/grep/d' /tmp/io
Tiskni
Sdílej: