Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Проверка размеров файлов в папке

Проверка размеров файлов в папке

Scheduled Pinned Locked Moved Support (Russian)
7 Posts 3 Posters 21.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    D
    Dillinger
    wrote on last edited by
    #1

    Здравствуйте!
    Скажите пожалуйста, можно-ли реализовать такую задачу:
    Нужно проверять размер файлов в определенной папке, и если любой файл становится больше определенного значения - сигнализировать об этом.
    Я только начинаю использовать NetXMS - может быть что то пропустил в документации ???

    1 Reply Last reply
    0
    • A
      A
      Alex Kirhenshtein
      wrote on last edited by
      #2

      Агент такого параметра не представляет, но можно добавить свой:

      Пример скрипта:

      #!/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 -n1
      

      CheckDirSize — произвольное название, (*) означает, что у этого параметра есть аргументы, после двоеточия — команда, которая будет запущена через шелл

      Аналогичный скрипт можно сделать и для Windows машин.

      1 Reply Last reply
      0
      • A
        A
        Alex Kirhenshtein
        wrote on last edited by
        #3

        @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 -n1
        

        CheckDirSize — произвольное название, (*) означает, что у этого параметра есть аргументы, после двоеточия — команда, которая будет запущена через шелл

        Аналогичный скрипт можно сделать и для Windows машин.

        Edit: Забыл сказать, что список параметров сервер забирает с агента при configuration poll-е, по умолчанию — раз в час. Configuration poll можно сделать принудительно, из консоли — правый клик на ноде, poll -> configuration.

        1 Reply Last reply
        0
        • D
          D
          Dillinger
          wrote on last edited by
          #4

          Большое спасибо, однако мне необходимо осуществлять мониторинг размера файлов в папках на серверах Novell Netware.
          Видимо придется делать map дисков на Windows машину и через нее осуществлять данную операцию.

          1 Reply Last reply
          0
          • V
            V
            Victor Kirhenshtein
            wrote on last edited by
            #5

            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.

            1 Reply Last reply
            0
            • D
              D
              Dillinger
              wrote on last edited by
              #6

              @victor said in Проверка размеров файлов в папке:

              V novoj versii pojavitsja takze parametr File.Count s viborkoj po razmeru i vremeni modifikacii.

              Это очень хорошо - буду ждать. Спасибо.

              1 Reply Last reply
              0
              • V
                V
                Victor Kirhenshtein
                wrote on last edited by
                #7

                Добавил такую возможность в 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 и подкаталогах.

                1 Reply Last reply
                0

                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
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                Powered by NodeBB Contributors
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups