Проблема учета ресурсов сети и длинных полных имен.
6 мая 2009 в 00:11

Проблема учета ресурсов сети и длинных полных имен.

Вынужден сам писать регламент на ресурсы своего отдела.
Столкнулся с тем, что IT иногда после обоснованной ротации вверенных им в обслуживание ресурсов по разному «клеят» мои корневые папки (лог.диски). Я всех своих застроил, объявил ограничение в 200знаков, IT дал в 240 (с технологическим запасом). Для подсчета кол-ва символов нашел шароварную утилиту, которая из буфера обмена всплывающим окном показывает результат.

Как вы организовали такие ограничения? Нашли ли способ принудельно ограничивать длину полного имени файла?

1247
Комментарии (19)
  • 11 мая 2009 в 09:52 • #
    Валеев Артур

    Проблема стандартная. Особые проблемы возникают при организации резервного копирования информации (все сторонние утилиты резервного окпирования пугаются длинных полных имен файлов). Спасает только встроенная в Windows 2003 Server утилита резервного копирования (Backup). Пока для меня средство борьбы с длинными именами - это структуризация информации и жесткие организационные меры.

  • 16 мая 2009 в 22:46 • #
    - -

    Ерунду написали. Системы резервного копирования прекрасно обрабатывают длинные имена.

  • 17 мая 2009 в 07:50 • #
    Валеев Артур

    Приведите примеры таких систем - протестировать хочется.

  • 17 мая 2009 в 20:15 • #
    - -

    Syncsort Backup Express. У меня на сайте можете прочитать подробнее. Официальный сайт syncsort.com.

  • 17 мая 2009 в 20:58 • #
    Валеев Артур

    Спасибо, буду пробовать. В описании не встретил про обработку длинных (>255 символов) имен файлов.

  • 17 мая 2009 в 21:09 • #
    - -

    Артур, это даже не выносится на обсуждение. Если полный путь файла превышает 255 символов это совершенно не создаёт проблем.
    Хотя если Вы имеете в виду длину имени САМИХ ФАЙЛОВ то тут могут быть скрытые проблемы. Я не уверен, но думаю что в спецификации NTFS 255 символов это предельная длина имени файла.
    Вобщем пробовать надо.

  • 12 мая 2009 в 19:06 • #
    Артем Осутин

    оперционная\файловая системы какие?

  • 13 мая 2009 в 09:56 • #
    Igor Chizhikov

    Windows 2003 Server, NTFS
    просто ищу удобный способ принудительного ограничения имен до 200 знаков из 255 возможных для пользователей.

  • 16 мая 2009 в 22:47 • #
    - -

    А в связи с чем такие приседания? В чём состоит исходная проблема?

  • 17 мая 2009 в 05:28 • #
    Igor Chizhikov

    Мой ресурс технический - конструкторская документация, переписка по техническим заданиям, справочные материалы и прочее. Вообщем интеллектуальная собственность предприятия. требования к сохранности очень высокие. Не смотря на имеющийся регламент IT, я вынужден проводить периодически полный back up в виде эл.копии, так и на твердом носителе. За 5 лет это спасало меня не раз. Проанализировав причины, вышел на лимит винды - 255 знаков. Так как IT внутри массива данных время от времени перемещает папки из-за длинных имен уже имеющихся ресурсов происходит конфликт внутри винды. Файлы не читаются, не копируются, не удаляются. А при случае когда проводится восстановление после сбоя - файлы оказавшиеся за пределами 255 занков восстанавливаются как файлы нулевой длины.
    Я начал писать регламент, ограничив для своего отдела длины полного имени до 200 знаков. IT поставил предел 240 знаков,оставив 15 знаков на форс-мажор. Поэтому хотел бы узнать, кто с подобной проблемой сталкивался и как ее решил в части принудительного огрнаичения длины полных имен.

  • 17 мая 2009 в 13:32 • #
    Артем Осутин

    То есть основная проблема - в бэкапах, как я понял? Может быть попробовать другой софт для резервного копирования?

  • 17 мая 2009 в 20:13 • #
    - -

    Для Вашей задачи могу предложить Вам интересное решение для ГАРАНТИРОВАННОЙ сохранности данных. - CAStor. Настройка минимальная, в винде ничего менять не надо, агента только доставить.
    Ну и с системой резервного копирования которую я внедряю никогда ни у кого таких проблем не наблюдалось.

  • 18 мая 2009 в 10:39 • #
    Артем Осутин

    Я использую bacula для архивации в том числе и виндовых машин. Вроде длинные пути нормально архивируются и восстанаыливаются.

  • 25 мая 2009 в 20:22 • #
    Родион Тикунов

    В Bacula проблемма с длинными именами файлов не решена. Тут дело даже не в Bacula, а в том, что сама винда с FAT/NTFS не может работать с такими файлами. Ни копировать, ни удалять. Проблемму можно решить только уменьшением длины пути где-то на середине. Т.е. сокращать длину пути к файлу.

  • 21 мая 2009 в 10:53 • #
    Лев Андреевич Григорьев

    Сталкивался, только при копировании, ntbuckup прекрасно справляется. И вот однажды мы купили в сервер новый диск и не смогли на него скопировать длинное-длинное-длинное-длинное-длинное имя файла и пары папки к ней, поскольку была сохранена страница целиком в IE без изменения заголовка, копироваться отказалась. Своих коллег предупредил - "Если будете сохранять с такими именами, файлы будут пропадать, претензии билли". Для Вас могу сделать программку, будет следить за указанной директорией, при помещении туда длинных файлов будет его переименовывать.

  • 21 мая 2009 в 12:00 • #
    Igor Chizhikov

    Лев,
    у меня имена файлов содержат децимальные номера чертежей и документов, на этом держится мой документооборот. В PDM системах в основном база так и строится как ты говоришь, все что берется на хранение система переименовывает в некий номер по порядку и произвольный номер. Но на PDM денег не дают, поэтому учет ведем по устоявшейся у нас упрощенной системе.
    Сейчас могу лишь только одной прогой считать символы скопрированные в буфер. А вот найти бы способ принудительного запрета ввода имени более n-символов. Такую бы приблудку написать.....

  • 21 мая 2009 в 12:43 • #
    Лев Андреевич Григорьев

    Вот очень удобная вещь. Не будем забывать о бесплатном ПО, пользуюсь для ведения документа оборота по строительству. Изначально бесплатна, платно только в случае если будет принято решение о расширении функционала до платной версии, но могу уверить и бесплатно работает изумительно. http://www.nanocad.ru/products/detail.php?ID=27915 Ознакомиться рекомендую также с соседними проектами.

  • 21 мая 2009 в 16:03 • #
    Igor Chizhikov

    Для моих задач не годится. у меня машиностроение - металка, электроника...большой ресурс конструкторский toolbox и куча прочей учетной хрени.

    тут на форуме предложили - Open Source ECM Alfresco - система электронного документооборота с открытым кодом

    описалово тут:
    http://www.myalfresco.blogspot.com/

    как появится время, подымем сервак и будем тестить. думаю не раньше июня.

    но это у кардинальное решение моей проблемы, но увы не скорое. А пока ищу то что писал выше. Любой IT будет рад такой проге чтобы застроить пользователей.

  • 25 мая 2009 в 09:30 • #
    Лев Андреевич Григорьев

    Ладно, принялся за задачу, вот в первом приближении:

    Разрабатываем технологию, и методику решения.
    Задачи:
    Запрет создания пользователям файлов с именами длиннее установленного.
    Средства:
    Delphi, WinApi.
    Результаты:
    Сервис установленный у пользователей, Конфигуратор установленный у администратора.

    Подробные варианты решения:
    1) Задача сервиса - следить за дисками, при создании файла проверить его длину, если больше допустимого выдать сообщение пользователю " имеет длину больше допустимой, для корректной работы переименуйте его либо переместите ближе к корню диска." Тут возникают проблемы:
    a) Создание-копирование служебными программами (например IExplore сохраняет довольно длинные пути файлов в кеше что-то вроде C:\Documents and Settings\UserNAME\Local Settings\Temporary Internet Files\Content.IE5\GHIJ2L45), решить можно настройкой исключений (для процессов и для директорий). Очевидно, лучше будет следить не за всем диском, а за списком директорий коим «должно быть короткоименными».
    b) В данном варианте мы получим системное сообщение постфактум, то есть информацию о создании такого файла мы получим после фактического создания файла, однако имея его путь ничто не мешает нам его удалить или переместить в «карантин».
    c) Слежение за диском создает небольшое падение производительности дисковой системы, а проверка допустимости имен помимо этого требует процессорного времени, однако это небольшая величина и ею можно пренебречь.

    2) Задача сервиса - альтернативное решение, можно не полагаться на сообщения Windows, мы можем внедрить свою dll в explorer (возможно внедрение и в другие процессы) и переопределить winapi вызовы функций, таким образом пользователь создавая или копируя файл выполнит переопределенную функцию создания файла в которой мы проверим путь и если он не понравится нам не будем его создавать. Тут возникают проблемы:
    a) Некоторые антивирусы и Firewalls , будут определять внедрение dll и сообщать о нашем сервисе как о вирусе.
    b) Технически более сложное решение потребуется отладка и опытная эксплуатация.
    3) Модуль администрирования имеет следующие задачи:
    a) собирание логов от сервисов рабочих станций - «кто-когда-чего не там создать пытался, у кого сервис не запустился, и т.д.»
    b) Назначение директорий исключений и/или целевых директорий для отслеживания длинны имен файлов, назначение исключений-включений процессов, другие настройки сервиса.
    c) Сбор файлов теневого копирования из «карантина»

    Таким образом вот первое приближение решения данной задачи, программный комплекс находится на стыке прикладного и системного программирования, прикладной частью является сетевой обмен и конфигурирования станций, сам сервис относится к системному программированию. Стоимость данного проекта при текущем Т.З. 150$, время реализации 5-6 дней. Тупая утилита молча удаляющая файлы с неподходящим именем-путем 80$ 2-3 дня. Возможно изменение проекта, В дальнейшем при большом объеме данных могу прикрутить mySql для хранения данных, возможна доработка в сторону предупреждения администратора о «неправильном копировании файлов» по почте например. Могу выслать пример внедрения dll, готов к сотрудничеству.


Выберите из списка
2018
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
1970