Я помогаю справиться с нашим решением для резервного копирования на работе. Много серверов. Много ОС. Я недавно наткнулся на сервер, который сейчас копирую.
Основная проблема с этим сервером заключается в том, что он имеет миллионы файлов. По крайней мере, 41 миллион, но, вероятно, где-то в районе 60 миллионов.
Я пытаюсь найти быстрые и простые в использовании ресурсы, чтобы отслеживать, сколько файлов находится на сервере и сколько изменилось за данный период времени.
Я обычно использую WinDirStat для базовой информации. Это делает большую работу по визуализации, что файлы, где. Кажется, проблема в том, что это занимает вечность и использует тонну памяти. Я остановил его на короткое время, и он уже сожрал ~ 600 МБ памяти. Обычно это занимает некоторое время, но обычно не требуется перебирать ~ 60 миллионов файлов.
Я сейчас пытаюсь сообщить о папках . Похоже, это намного облегчает использование памяти (~ 5 МБ атм и должно быть как минимум на полпути через сбор информации). Проблема в том, что это занимает вечность, и я не уверен, будет ли изменено количество файлов за последние 24 часа (или возможность найти этот кусок информации).
Я могу войти в систему, но не хочу связываться с программным обеспечением, запущенным на сервере (Oracle, пользовательские приложения и т.д.). Что я могу сделать, чтобы быстро получить нужную информацию, не занимая при этом много ресурсов? Какие еще есть хорошие варианты для получения информации, такой как необработанный счетчик файлов и недавно измененных файлов?
Какой-то другой инструмент? Скрипт командной строки? PowerShell (пробовал (Get-ChildItem ..).Count
и столкнулся с проблемами с памятью)? Perl?
(Не уверен, что этот вопрос хорошо помечен. Не стесняйтесь предлагать лучшие теги или изменить тег, если у вас есть возможность)