|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Kazarov 2:5020/400 10 Dec 2004 18:30:00 To : Vladimir Bobarikin Subject : Re: Mrtg статистика процессов -------------------------------------------------------------------------------- Vladimir Bobarikin пишет: Пара-тройка мелких замечаний VB> Заработало наконец. VB> Вот рабочий вариант для снятия статистики с mysql, мож кому полезным окажеться VB> (pid можно использовать от любого процесса, т.е следить за чем угодно, что VB> имеет pid :)))): VB> === Cut cpumon.sh === VB> #!/bin/sh VB> pid="`/bin/cat /usr/local/mysql/var/localline.ru.pid`" Здесь нет необходимости в двойных кавычках - вывод команды в данном случае не парсится. VB> # Узнаю номер процесса MySQL VB> set `/bin/ps aux -p $pid | tail -1 | awk '{print $3}' | tr . "\n"` Здесь лучше писать set -- `/bin/ps ... т.е. после set двойной минус, чтобы ни при каких обстоятельсвах set не посчитал возвращаемое значение за аргумент, ошибочный скорее всего. Далее, вместо tail -1 | awk '{print $3}' | tr . "\n" эффективнее будет awk 'NR==2{sub(/\./," ",$3);print $3;}' если уж пользуешся awk-ом. т.е. set -- `/bin/ps aux -p $pid | /usr/bin/awk 'NR==2{sub(/ \./," ",$3);print $3;}'` VB> #Снимаю статистику, получаю дробное число XX.Y и разбиваю его на два недробных VB> # :) VB> mysql="$1" VB> mysql2="$2" VB> echo $mysql VB> echo $mysql2 VB> echo 0 VB> echo MySQL process stats VB> === Cut cpumon.sh === И подконец - присваивание в шелле значений промежуточным переменным - дело глубоко не быстрое. echo $1 echo $2 будут работать чуть-чуть быстрее Дмитрий -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6488aa2ce6fd.html, оценка из 5, голосов 10
|