LINUX.ORG.RU

scripting

 , ,


0

1

Привет лор, хочу сделать мониторинг рейда для какти сделал такую штуку

/sbin/mdadm --detail /dev/$device |grep -i «State :»|awk '{print($3)}'

Он выводит в хорошем случае clean, и в других случаях другие значения. Мне нужно получить вот что, если clean тогда нужно вывести значение 0, если что-то другое, тогда значение 1

Помогите пожалуйста)))

★★★

Последнее исправление: init_ (всего исправлений: 1)

А /me просто грепает на «F» /proc/mdstat, если она там есть - отправляет всю строку, ее содержащую, на sendxmpp. В строке и название массива, и диск, вышедший из строя

YAR ★★★★★
()
Ответ на: комментарий от YAR

Посан просто не знает про strace или «посмотреть в сорцах».

anonymous
()
Ответ на: комментарий от uspen

Тоже используется. Просто раньше почту меньше использовал, вот и настроил сначала через Jabber. Сейчас осталось и то, и то - mdadm шлет на мыло мне, а sendxmpp - в конференцию.

YAR ★★★★★
()
Ответ на: комментарий от anonymous

-grep -i «State :»|awk ...
+awk 'IGNORECASE=1; /State :/{ ...
fuck lorcode

anonymous
()
Ответ на: комментарий от YAR

просто кактусу нужны значения которые он будет рисовать на графике, поэтому я сделал там 0 и 1 нормально и плохо соответственно

init_ ★★★
() автор топика
Ответ на: комментарий от Slavaz

а если оно там 2 раза? но вообще забей, хоть это и можно одним вызовом на awk сделать, супероптимизация подобных скриптов это задротство

zolden ★★★★★
()
Ответ на: комментарий от init_

Да простейший скрипт :)

 #!/bin/bash

stats="$(grep F /proc/mdstat)"

if [ ! -z "${stats}" ]
        then
        echo -en "Авария на RAID-массиве:\n${stats}" |
        /usr/bin/sendxmpp -c -f /home/stats/.sendxmpprc -o myserver my@conference
fi

YAR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.