The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"вроде простой regex"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"вроде простой regex"  +/
Сообщение от sdog (ok) on 31-Окт-10, 22:51 
нужен regex для отбора файловый систем на предмет проверки заполнения:
все что начинается с /, но не /sys, /proc, /dev, /selinux или "/ещё что-нибудь"

или может можно просто:
не /sys, /proc, /dev, /selinux или "/ещё что-нибудь"

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "вроде простой regex"  +/
Сообщение от jd (??) on 31-Окт-10, 23:50 
Лучше опишите задачу более обще. В зависимости от того, как вы получаете список файлов и что дальше с ними делаете, возможны разные варианты. Например, с помощью команды find можно сделать что-нибудь вроде этого:
find / '(' -path /sys -o -path /proc -o -path /dev -o -path /selinux -o -path "/ещё что-нибудь" ')' -prune -o -print

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "вроде простой regex"  +/
Сообщение от sdog (ok) on 01-Ноя-10, 08:52 
> Лучше опишите задачу более обще. В зависимости от того, как вы получаете
> список файлов и что дальше с ними делаете, возможны разные варианты.
> Например, с помощью команды find можно сделать что-нибудь вроде этого:
>
find / '(' -path /sys -o -path /proc -o -path /dev -o
> -path /selinux -o -path "/ещё что-нибудь" ')' -prune -o -print

информация получается по snmp

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "вроде простой regex"  +/
Сообщение от Etch on 01-Ноя-10, 08:51 
Опять сессия начинается?

echo "/sys/test" | perl -e 'my $t = <>; print $t unless $t =~ m@/(sys|proc|dev|selinux)(/|\Z)@;'

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "вроде простой regex"  +/
Сообщение от sdog (ok) on 01-Ноя-10, 09:06 
> Опять сессия начинается?
> echo "/sys/test" | perl -e 'my $t = <>; print $t unless
> $t =~ m@/(sys|proc|dev|selinux)(/|\Z)@;'

Спасибо это работает в скрипте, но в уже имеющемся скрипте (http://nagios.manubulon.com/snmp_storage.html) не работает, простые регэкспы, типа  '(/var|/sys)', работают.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "вроде простой regex"  +/
Сообщение от Etch on 01-Ноя-10, 09:40 
> Спасибо это работает в скрипте, но в уже имеющемся скрипте (http://nagios.manubulon.com/snmp_storage.html)
> не работает, простые регэкспы, типа  '(/var|/sys)', работают.

а полный текст вашей команды?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "вроде простой regex"  +/
Сообщение от s_dog (??) on 01-Ноя-10, 11:53 
>> Спасибо это работает в скрипте, но в уже имеющемся скрипте (http://nagios.manubulon.com/snmp_storage.html)
>> не работает, простые регэкспы, типа  '(/var|/sys)', работают.
> а полный текст вашей команды?

примерно такой:

/usr/lib/nagios/plugins/check_snmp_storage -H hostname -p port -l snmp_user -x snmp_auth_pass -w 90 -c 95 -m "(/sys|/proc)"

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "вроде простой regex"  +/
Сообщение от Pahanivo (ok) on 01-Ноя-10, 12:28 
>>> Спасибо это работает в скрипте, но в уже имеющемся скрипте (http://nagios.manubulon.com/snmp_storage.html)
>>> не работает, простые регэкспы, типа  '(/var|/sys)', работают.
>> а полный текст вашей команды?
> примерно такой:
> /usr/lib/nagios/plugins/check_snmp_storage -H hostname -p port -l snmp_user -x snmp_auth_pass
> -w 90 -c 95 -m "(/sys|/proc)"

а что разве нельзя отдельными oid (для каждой ФС) получить нужные значения? или у вас список файловых систем меняется часто? или серваков тыща?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "вроде простой regex"  +/
Сообщение от s_dog (??) on 01-Ноя-10, 14:28 
>>>> Спасибо это работает в скрипте, но в уже имеющемся скрипте (http://nagios.manubulon.com/snmp_storage.html)
>>>> не работает, простые регэкспы, типа  '(/var|/sys)', работают.
>>> а полный текст вашей команды?
>> примерно такой:
>> /usr/lib/nagios/plugins/check_snmp_storage -H hostname -p port -l snmp_user -x snmp_auth_pass
>> -w 90 -c 95 -m "(/sys|/proc)"
> а что разве нельзя отдельными oid (для каждой ФС) получить нужные значения?
> или у вас список файловых систем меняется часто? или серваков тыща?

машин много, нужно сделать универсальное решение - по имени, по OID'у нет желания

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "вроде простой regex"  +/
Сообщение от Etch on 01-Ноя-10, 15:36 
> /usr/lib/nagios/plugins/check_snmp_storage -H hostname -p port -l snmp_user -x snmp_auth_pass
> -w 90 -c 95 -m "(/sys|/proc)"

Попробуйте так:
-m "^(?!/(sys|proc))(/|\Z)"

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "вроде простой regex"  +/
Сообщение от Etch on 01-Ноя-10, 16:13 
Или лучше так:
-m "^(?!/(sys|proc)(/|\Z))"
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "вроде простой regex"  +/
Сообщение от s_dog (??) on 01-Ноя-10, 16:30 
> Или лучше так:
> -m "^(?!/(sys|proc)(/|\Z))"

Error compiling regexp (invalid regexp or memory prb)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "вроде простой regex"  +/
Сообщение от Etch on 02-Ноя-10, 02:32 
>> -m "^(?!/(sys|proc)(/|\Z))"
> Error compiling regexp (invalid regexp or memory prb)

Значит не поддерживает он регекспы с условием, пишите скрипт-обёртку который получает список каталогов и запускает check_snmp_storage с нужными параметрами.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "вроде простой regex"  +/
Сообщение от s_dog (??) on 02-Ноя-10, 11:27 
>>> -m "^(?!/(sys|proc)(/|\Z))"
>> Error compiling regexp (invalid regexp or memory prb)
> Значит не поддерживает он регекспы с условием, пишите скрипт-обёртку который получает список
> каталогов и запускает check_snmp_storage с нужными параметрами.

ясно, спасибо!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру