Проверка размеров файлов в папке
-
Здравствуйте!
Скажите пожалуйста, можно-ли реализовать такую задачу:
Нужно проверять размер файлов в определенной папке, и если любой файл становится больше определенного значения - сигнализировать об этом.
Я только начинаю использовать NetXMS - может быть что то пропустил в документации ??? -
Агент такого параметра не представляет, но можно добавить свой:
Пример скрипта:
#!/bin/sh [ -z $1 ] && echo ERROR && exit ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1Добавить в nxagentd.conf:
ExternalParameter = CheckDirSize(*):/path/to/sizeOfLargestFileInDir.sh $1В принципе, можно даже сделать без внешнего скрипта:
ExternalParameter = CheckDirSize(*):ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1CheckDirSize — произвольное название, (*) означает, что у этого параметра есть аргументы, после двоеточия — команда, которая будет запущена через шелл
Аналогичный скрипт можно сделать и для Windows машин.
-
@alk said in Проверка размеров файлов в папке:
Агент такого параметра не представляет, но можно добавить свой:
Пример скрипта:
#!/bin/sh [ -z $1 ] && echo ERROR && exit ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1Добавить в nxagentd.conf:
ExternalParameter = CheckDirSize(*):/path/to/sizeOfLargestFileInDir.sh $1В принципе, можно даже сделать без внешнего скрипта:
ExternalParameter = CheckDirSize(*):ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1CheckDirSize — произвольное название, (*) означает, что у этого параметра есть аргументы, после двоеточия — команда, которая будет запущена через шелл
Аналогичный скрипт можно сделать и для Windows машин.
Edit: Забыл сказать, что список параметров сервер забирает с агента при configuration poll-е, по умолчанию — раз в час. Configuration poll можно сделать принудительно, из консоли — правый клик на ноде, poll -> configuration.
-
-
Dlja NetWare toze est' agent, i on podderzivaet parametri File.Size i File.Count. V novoj versii pojavitsja takze parametr File.Count s viborkoj po razmeru i vremeni modifikacii.
-
-
Добавил такую возможность в 0.2.31. Теперь полный формат File.Count и File.Size выглядит так:
File.Count(path, pattern, recursive, size, age)
где:
path Путь к файлу или каталогу
pattern Маска для выборки файлов
recursive Индикатор рекурсии - если выставлен в 1, то агент будет искать файлы в подкаталогах, если 0 - то нет
size Фильтр по размеру; если 0 - фильтра нет, если < 0 - берутся файлы с размером меньше abs(size) байт, если > 0 - берутся файлы с размером больше size байт
age Фильтр по возрасту файла; если 0 - фильтра нет, если < 0 - берутся файлы со временем изменения меньше чем abs(size) секунд назад, если > 0 - берутся файлы со временем изменения больше чем abs(size) секунд назадНапример:
File.Count(C:\TEMP, *.dat, 0, 0, 600) - количество файлов с расширением .dat в каталоге C:\TEMP, измененных раньше, чем 10 минут назад, без учета файлов в подкаталогах.
File.Count(C:\TEMP, *.dat, 1, -1000) - количество файлов с расширением .dat и размером меньше 1000 байт в каталоге C:\TEMP и подкаталогах.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login