Доброго времени суток.
Пишу я, значит, плагин для nagios, попутно разбираясь с перлом.
Задачи:
- получить список винтов
- Для каждого из них прогнать smartctl
- Если значение увеличивается, ругнуться
Как я поступаю:
при помощи ls /dev/[s,h]d? получаю список винтов. Возникает проблема - если это не винт, а флешка, например, то ничего не работает. Поэтому вопрос: «Как отличить винт от флешки в Perl или shell?»
Далее нужно проверять, не увеличилось ли значение параметра. Если писать всё в какой-нибудь файл, а потом просто сравнивать значение из файла с текущим, то после следующей проверки значение в файле изменится и проблемы не будет видно.
Пока что в голову приходит только одно решение: если файла не существует, создать и записать полученное значение. Затем просто сравнивать не трогая файл.
Есть ли идеи получше?