Войти

Показать полную графическую версию : Нужен скрипт сравнивающий содержимое нескольких каталогов и записывающий результат


murbls
11-09-2014, 08:35
Добрый день.

Нужен скрипт, который сравнивал бы содержимое множества сетевых каталогов с содержимым эталонного каталога и записывал бы результаты в файл.

Например есть эталонный каталог: \\servername\catalog примерно со следующей структурой:
1) \\servername\catalog\subcatalog
2) \\servername\catalog\program.exe
3) \\servername\catalog\subcatalog1
4) \\servername\catalog\program1.exe
5) \\servername\catalog\subcatalog2
6) \\servername\catalog\program2.exe
Т.е. в нем есть подкаталоги и исполняемые файлы различных версий (версия 0, версия 1, версия 2 etc)

Есть множество однотипных сетевых каталогов, содержимое которых должно соответствовать эталонному в части последней версии - нужно только осуществлять проверку и записывать результат в файл в виде:
1. \\servername1\catalog = good
2. \\servername2\catalog = good
3. \\servername3\catalog = bad

При этом самая распространенная ситуация, когда до сетевых каталогов просто не доезжают изменения

Т.к. выявить последнюю версию автоматически не представляется возможным, должна быть возможность указывать имея подкаталога и исполняемого файла в виде значения переменной.

Iska
11-09-2014, 09:57
Очень мутно описано. Давайте более реальный пример. Можно со скриншотами.

murbls
11-09-2014, 13:19
Да куда уж реальней ))

Есть эталонная шара, с нее DFS растекается по сетевым каталогам других серверов, иногда файлы не доезжают.. и нужно сравнивать состояние эталонной шары с состоянием перечня сетевых каталогов - результаты записывать в файл.
Crhbyijn прикладываю. Пояснения следующие:

периодически в эталонный каталог добавляют:
1. папку MainFrame_***
2. исполняемый файл MainFrame_***.application

Эти "данные" должны уехать на все сервера (их 60) в одноименные каталоги, но на некоторые сервера (по разным причинам) иногда файлы не доезжают и это нужно проверять.
Т.е. сравнивать наличие папки и файла в эталоне с наличием такого же набора на списке серверов.

Iska
11-09-2014, 14:42
Речь в:
Есть эталонная шара, с нее DFS растекается по сетевым каталогам других серверов, иногда файлы не доезжают. »
ведётся про реплики DFS?

murbls
11-09-2014, 14:56
Да, разливается с эталона DFS-ом

Iska
11-09-2014, 15:46
Первый раз слышу про понятие «эталон» в терминологии DFS. Тут надо не различия искать, а причины, по которым репликация не происходит.

murbls
12-09-2014, 09:28
Уважаемый Iska, я понимаю, что быть здоровым и богатым лучше чем бедным и больным, но мне ни в коем случае не была нужна рекомендация что делать с косяками DFS, а нужен скрипт..
Под "эталоном" я подразумевал каталог, в который вносят изменения "руками" и с которого начинает разливаться по остальным каталогам.

*а причины, коль они так интересны вполне объективны - старые серверы и потери на каналах связи (вся инфраструктура разнесена по территории Москвы и области).

**предлагать обновить парк серверов и расширить каналы не надо..

Iska
12-09-2014, 10:54
в который вносят изменения "руками" »
Зачем «руками»? Какой смысл тогда вам (я имею в виду контору) вообще в DFS?

*а причины, коль они так интересны вполне объективны - старые серверы и потери на каналах связи »
Вы это обоснование сами придумали, или можно попросить ссылку на авторитетный источник?

murbls
12-09-2014, 11:07
Уважаемый, мне непонятно ваше желание поспорить.. Если вы хотите блистать эпистолярными талантами, прошу перейти в другую тему.
Еще раз повторю, мне не нужна оценка моей инфраструктуры, мне не нужен совет как жить дальше, мне нужен конкретный скрипт, о чем я и попросил в самом начале.
Вы же вместо помощи пытаетесь наставить меня на путь истинный (по вашему мнению), однако мне это абсолютно не требуется.

Если вы можете помочь и написать подобный срипт - буду премного благодарен, если же вы имеет лишь желание потроллить в теме, прошу вас сделать это в другом месте.

Iska
12-09-2014, 11:40
Уважаемый, мне непонятно ваше желание поспорить.. »
Я не спорю, Вы что-то путаете. Я просто пытаюсь понять цели и смысл Вашего запроса — зачем сие нужно вместо решения двух реально существующих проблем. Но не могу. Что ж, останемся каждый при своём.

murbls
16-09-2014, 09:21
Больше желающих помочь не будет? ))

AZJIO
25-09-2014, 02:02
murbls, Вам нужно готовое? Я не готов писать за вас, а подсказки дать могу.
1. В UDF в разделе File есть функция поиска файлов.
2. Чтобы сравнить каталоги можно сравнить числа элементов в каталоге. Если одинаково, то можно сравнить пути предварительно сортировав или перебором одного из списков в цикле, удаляя из второго этот же путь. После удаления второй список должен оказаться пуст.




© OSzone.net 2001-2012