суббота, 13 ноября 2010 г.

Еще про gnuplot, тонкости двух графиков в одном окне и длительный временных интервалов

Имеем два файла


void@void-desktop:~$ head bttkz-acc
    801  00:00
    773  00:01
    753  00:02
    694  00:03
    901  00:04
   1104  00:05
    816  00:06
    839  00:07
    689  00:08
    825  00:09
 void@void-desktop:~$ head bttkz-access 
    105  00:00
    101  00:01
     96  00:02
    108  00:03
    100  00:04
    104  00:05
    111  00:06
    100  00:07
     93  00:08
    103  00:09


И так 8 часов ... хотим график что бы сравнить тенденцию.

gnuplot> set xdata time
gnuplot> set timefmt "%H:%M"
gnuplot> set xrange [0:36000]
gnuplot> set yrange [0:1000]
gnuplot> set multiplot
multiplot> set key at 35000,950
multiplot> plot "bttkz-acc" using 2:1 with lines lt 2
multiplot> set key at 35000,900
multiplot> plot "bttkz-access" using 2:1 with lines lt 4


Про xdata уже писал тут
* xrange - длинна оси х в секундах 
* yrange - максимальное значение по y.
* set key - место для легенды данного графика
* lt 2 - цвет графика

понедельник, 8 ноября 2010 г.

Как превратить директорию с .deb в локальный репозиторий.

В man sources.list по этому поводу есть вот чего


       Uses the archive stored locally (or NFS mounted) at /home/jason/debian for stable/main,
       stable/contrib, and stable/non-free.


           deb file:/home/jason/debian stable main contrib non-free

Может быть оно и работает если у вас все красиво разложено по подпапочкам, но если все в одной куче то это не красиво, неправильно и как это сделать нигде не написано.

Так пусть будет написано тут.

qa:~# ls /home/void/dist/*deb | wc -l 
11
qa:~# dpkg-scanpackages /home/void/dist /dev/null | gzip -9c > /home/void/dist/Packages.gz
...skip
qa:~# echo 'deb    file:/home/void/dist ./' >> /etc/apt/sources.list

четверг, 16 сентября 2010 г.

четверг, 26 августа 2010 г.

Пример генерации корки

# ps -C bserver
PID TTY TIME CMD
14469 ? 1-04:18:06 bserver
# gdb
(gdb) attach 14469
Attaching to process 14469
(gdb) generate-core-file
Saved corefile core.14469
(gdb) detach
Detaching from program: /opt/smartasr/libexec/bserver, process 14469
(gdb) quit
# ls -lah /mnt/hds1/core-dump/core.14469
-rw-r--r-- 1 root root 1,3G 2010-07-02 16:08 /mnt/hds1/core-dump/core.14469

вторник, 27 июля 2010 г.

Как ограничить выполнение скрипта по времени

Если существует вероятность что скрипт зациклиться или повиснет на каком то этапе можно научить его самоубийству.

например так

#!/bin/bash
sleep 10 && kill $$

echo endless loop
while :; do echo -n ""; sleep 1 ; done



или с прогрессбаром

#!/bin/bash
for i in `seq 1 15`; do echo -n .; sleep 1; done && kill $$ &

echo endless loop
while :; do echo -n ""; sleep 1 ; done

понедельник, 26 июля 2010 г.

bash - передача аргументов в функцию по ссылке

Как передать в функцию аргумент по ссылке ?
вот как

void@void-desktop:~$ TEST=val; func () { eval echo $`echo $1`; }; func TEST
val

суббота, 3 июля 2010 г.

Время в gnuplot

Часто забываю как это делать ....













Есть лог вида




10:14:02 196585352
10:14:03 196585260
10:14:04 196585260
10:14:05 196585260
10:14:06 196585260
10:14:07 196585256
10:14:08 196585268
10:14:09 196585452
10:14:10 196586712
10:14:11 196586704
10:14:12 196586712
10:14:13 196586680
10:14:14 196586672
10:14:15 196586688
10:14:16 196586688
10:14:17 196586688
10:14:18 196586692
10:14:19 196586692
10:14:20 196586692
10:14:21 196586688
10:14:22 196586688
10:14:23 196586684

нужен gnuplot

Сессия выглядит так
gnuplot> set xdata time
gnuplot> set timefmt "%H:%M:%S"
gnuplot> set format y "%.f"
gnuplot> set grid
gnuplot> plot "data.f" using 1:2 with lines


gnuplot>set xdata time
рисовать время по оси х

gnuplot> set timefmt "%H:%M:%S"
формат времени во входных данных

gnuplot> set format y "%.f"
не использовать научный формат в метках по оси у

gnuplot> set grid
рисовать сетку

gnuplot> plot "data.f" using 1:2 with lines
рисовать зависимость первой колонки от второй

Для задания диапазона по времени можно использовать
gnuplot> set xrange ["dateStart":"dateEnd"]