3

Малая юридическая фирма, SBS 2011. На этом сервере каждый случай получает папку на 2012 год из папки «1-2012» в «876-2012» и на 2013 год «1-2013» в «555-2013» до сегодняшнего дня. Путь к папке выглядит как "\\SBS2011\folder\subfolder\2012\123-2012".

Время от времени одна из этих папок (например, «123-2012») исчезает, потому что кто-то случайно перемещает ее в другую папку (например, в «497-2013»). Я понятия не имею, как людям удается переместить папку, не осознавая этого, но это факт.

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

Мы не можем ограничивать права наших сотрудников: им приходится создавать новые папки и помещать в них файлы. И им нужно также удалить папки.

Моя идея состоит в том, чтобы на SBS работал маленький демон, который просто записывал одну строку в файл журнала каждый раз, папка "\\SBS2011\folder\subfolder *" перемещалась или удалялась, например:

16/08/2013 13:45 user "KD" "old path to folder" "new path to folder"

или просто говорит, что определенная папка была удалена.

Кто-нибудь может дать мне подсказку, как поступить? Наша IT-служба поддержки делает теневые копии и все такое, но не смогла найти хорошее решение.

Я ошибся? Разве нет демонов под виндой?

2 ответа2

2

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

Этот продукт считывает файл журнала NTFS, который содержит все переименования и перемещения файлов и папок. Он может быть настроен на запуск с Windows и всегда быть доступным и актуальным. Он может индексировать диски, содержащие миллионы файлов. Его поиск настолько быстр, что он уточняет результаты поиска для каждого введенного вами символа. Он также устанавливает хук оболочки в проводнике Windows, чтобы ограничить поиск подпапкой.

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

Обратитесь к статье Использование журнала NTFS для резервного копирования для обсуждения того, как использовать API журнала.

Пример программы на C++, которая создает дамп журнала USN, можно найти в статье Win32 NTFS Journal Dump.

1

Это можно сделать очень просто в C # с помощью класса FileSystemWatcher.

посмотрите на этот http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .