Назад | Перейти на главную страницу

Рассчитайте размер нескольких папок в сети

У нас в основном около 250 пользователей, работающих под управлением Windows XP и 7. Всех наших пользователей попросили поместить все свои важные файлы в папку на рабочем столе под названием «Резервное копирование».

Мне в основном нужно выяснить, как рассчитать общий размер всех этих папок.

Любые идеи? Программы? Скрипты?

Спасибо!

По сути, у вас есть две проблемы высокого уровня:

  1. Как получить рекурсивный размер папки и всего ее содержимого (включая подпапки).
  2. Как решить проблему №1 на большом количестве машин в сети.

Чтобы решить №1, я предлагаю самый простой способ - использовать утилиту du. Это служебная программа командной строки UNIX, имеющая порт Windows; Возьмите его из: http://gnuwin32.sourceforge.net/packages/coreutils.htm

По умолчанию du рекурсивно сканирует текущий каталог и печатает размеры и имена. Вам нужна сводка, как если бы вы щелкнули папку правой кнопкой мыши и задали свойства. Так что запустите это так du -s Обратите внимание, что вывод ведется в байтах, что удобно для работы в Excel.

Чтобы решить № 2, я предлагаю вам по очереди подключить сетевой диск к каждому компьютеру, запустить команду du (но добавляя ее в файл), а затем выполнить сумму в Excel. Команда du будет выглядеть так: du -s >> backupSize.txt по умолчанию столбцы вывода du разделены табуляцией, что легко импортируется в Excel.

Вам нужно будет решить такие детали, как сделать все эти папки общими, убедиться, что все машины доступны в сети, написать пакетный файл с циклом стиля foreach и суммировать в Excel.