Сетевые ресурсы

Есть 2 способа, для того чтобы указать папку на соседнем компьютере: полное UNC-имя вида \\имяКомпьютера\имяПапки или через сетевой диск. Оба способа имеют недостатки, которые затрудняют резервное копирование.

UNC-имена просты в использовании, но медлительны и совершенно не поддаются диагностике, например, невозможно программно определить сколько в этой папке осталось свободного места и т.п.

Сетевой диск, подключаемый к папке на удаленном компьютере, обладает всеми свойствами обычного диска, не тормозит работу, позволяет сократить путь до минимума (2 символа), что может оказаться очень полезно для командной строки, и еще много всего... Но проблема в том, что сетевой диск надо подключать заранее, а с помощью стандартных средств Windows делать это очень не удобно.


Стандартные средства Windows

Подключить сетевой диск можно средствами ОС, в Win9x для этого: Но сетевые ресурсы не достаточно просто подключить, для обеспечения отказоустойчивости резервного копирования данных необходимо иметь средства автоматического восстановления сетевых подключений, если эти подключения по каким-либо причинам будут удалены.

А причины могут быть самые разные, во-первых Windows может прекратить подключение сетевого ресурса после нескольких неудачных попыток, во-вторых сам пользователь может, например, при входе в сеть случайно нажать клавишу Отмена вместо ОК:

Резервное копирование Backup - ASB

Может быть временно недоступен сетевой компьютер на который выполняется резервное копирование, в этом случае при загрузке Windows выдаст сообщение, например:

Резервное копирование Backup - ASB

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

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

Самый простой способ автоматизации - написать bat-файл используя команды для работы с сетевыми ресурсами:

net use P: \\SERVER\DATA\USER01 /yes
net use P: /delete /yes
- подключение,
- отключение.

Неудобство здесь заключается в том, что команда net use в Win9x-системах, хотя и позволяет указать пароль доступа к сетевому ресурсу, но не дает возможности указать имя пользователя, по умолчанию используя имя указанное при входе в систему. Соответственно, если пользователь в сеть не вошел, а сервер для подключения требует имя пользователя и пароль, то эти команды окажутся бесполезными. ASB, конечно, проверит, что сетевой диск не доступен, и сделает отложенное задание, но любое отложенное задание предполагает, что рано или поздно сетевой ресурс все-таки будет восстановлен…

А что делать когда требуется подключить сетевые ресурсы расположенные на различных серверах, например сетевой диск с одного сервера и принтер с другого, при этом имена пользователя на этих серверах прописываются по разному?

Есть еще один способ. В серверных ОС существует такое понятие как LoginScript (сценарий подключения), каждому пользователю, или группе пользователей на сервере можно прописать последовательность действий со стороны сервера, когда пользователь входит в сеть, в том числе и подключение ему сетевых ресурсов. Это более надежный вариант, по сравнению со стандартными средствами Windows, но он тоже имеет определенные неудобства. Во-первых, он жестко требует наличие выделенного сервера, а это расходится с общей идеологией системы, ведь мы говорили, что ASB полноценно функционирует и в одноранговых сетях. Во-вторых, уменьшается переносимость системы - поменял сервер, перенастраивай все заново. И про какую тогда простоту и универсальность говорить...


Управление сетевыми ресурсами

Возможно, но крайне не рекомендуется, использование в настройках ASB путей вида \\имяКомпьютера\имяПапки, т.к. проверка таковых при самодиагностике ASB сильно замедляет работу системы, а в некоторых местах ASB вообще не проверяет их в целях экономии времени. Доступ к удаленной папке на сервере, или другом ПК более правильно осуществлять через заранее подключенный сетевой диск с назначенной буквой.

В ASB найдено оригинальное решение данной проблемы: каждому UNC-имени вида \\имяКомпьютера\имяПапки назначается сетевой диск, который автоматически подключается при запуске ASB и может быть отключен по завершении работы программы.

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

Резервное копирование Backup - ASB


За включение модуля отвечает параметр NetRes секции [System] файла настроек asblist.txt, 1 - включено, 0 - выключено.

Настройки подключаемых сетевых ресурсов хранятся в файле C:\AArc\reslist.txt, в аналогичном основному файлу настроек asblist.txt ini-виде "параметр = значение", и также записан в обыкновенном формате "Текст Windows".

Пример заполнения файла сетевых ресурсов для подключения диска P:

RES file

[Диск P:]
ResType=DISK
ResInfo=Мои копии
UserName=Alex
Password=
LocalName=P:
RemoteName=...\DATA\USER01
Profile=0
StartAdd=1
ExitDel=0
Message=0
ReLoad=1
- заголовок файла настроек,

- произвольное название,
- тип - диск,
- информация (для чего),
- имя пользователя,
- пароль,
- локальное имя,
- удаленное имя,
- не обновлять профиль,
- добавить при вкл. ASB,
- не откл. при вых. из ASB,
- выдавать сообщения,
- пере-подсоединение.


Особое внимание следует обратить на значение параметра Profile, если установить Profile=1, то при первом подключении сетевого ресурса, Windows запомнит его настройки (обновит профиль) и в последствии будет самостоятельно пытаться подключать ресурс при загрузке. ASB при попытке подсоединения ресурса увидит что он уже есть, и не станет делать этого второй раз. И не будет никаких проблем, если вдруг операционной системе не удастся выполнить подключение, или соединение будет утеряно, ASB сделает это за нее, и опять обновит профиль.

Такая схема работает безотказно, до того момента пока не будет изменено удаленное имя ресурса, или Вы сами не захотите это сделать. Здесь не достаточно просто поменять удаленное имя ресурса в файле reslist.txt и запустить ASB, т.к. Windows еще помнит старые настройки, а новые ASB не перезапишет в профиль до тех пор пока в системе открыто старое соединение. Старое соединение перед этим обязательно нужно удалить. Проще всего сделать это из меню ASB, для этого выберите Сервис \ Сетевые ресурсы \ Отключить все, а затем Сервис \ Сетевые ресурсы \ Подключить все.

Чтобы больше никогда не беспокоится об этой проблеме, в настройках всех сетевых ресурсов надо установить параметр ReLoad=1, тогда при каждом запуске ASB сетевые ресурсы будут заново пере подключаться. Это более быстрый и надежный вариант, чем каждый раз проверять туда ли подключен ресурс или нет.

Если ReLoad=1, то параметр Profile становится не нужен, его можно установить равным 0, тогда при следующем запуске ASB настройки из профиля Windows будут автоматически удалены, зачем тратить время на подключение сетевых ресурсов при старте Windows, если они все равно будут отключены перед запуском ASB.

Параметр ExitDel необходимо использовать, если вы хотите скрыть от пользователя место куда происходит резервное копирование. Установите параметр ExitDel=1, тогда сетевой ресурс (диск) будет подключен только на время работы ASB, а по окончанию резервирования при выходе из программы будет отключен. Причем, отключение ресурса происходит только в том случае, если на нем осталось открытых с данного компьютера файлов или процессов.

Параметр Message=0 обеспечивает полную прозрачность процесса.

Для каждого сетевого ресурса в ASB хранится последнее сообщение об ошибке, его можно просмотреть через меню Сервис \ Сетевые ресурсы \ Параметры, или Файл \ Отчет \ Настройки системы, например:

. . .
Подключать сетевые ресурсы;

СЕТЕВЫЕ РЕСУРСЫ:
________________________________________
Тип: DISK
Инфо: Для резервирования
Пользователь: Alex
Пароль:
Локальное имя: P:
Удаленное имя: \\SERVER\DATA\USER01

Сохранять профиль: Нет
Подключать при старте: Да
Отключать при выходе: Нет
Выдавать сообщения: Нет
Переподключение: Да

Last error: The value specified by lpRemoteName is not acceptable to any network resource provider. The resource name is invalid, or the named resource cannot be located
. . .


Управление сетевыми ресурсами в ASB можно использовать не только для внутренних целей резервирования, но для подключения сетевых дисков другого применения, а также для назначения портов сетевым принтерам.

Пример для подключения порта сетевого принтера:

. . .
[Принтер из бухгалтерии]
ResType=PRINT
ResInfo=Для печати файлов MS-DOS
UserName=Alex
Password=
LocalName=LPT1:
RemoteName=\\PC_BUHG\HP
Profile=0
StartAdd=1
ExitDel=0
Message=0
ReLoad=1


После подключения порта к сетевому принтеру, печать файлов записанных в формате "Текст MS-DOS", которые очень часто встречаются в старых бухгалтерских и банковских программах, можно выполнять командой из консоли, например:

сору report.txt lpt1:
или
сору report.txt prn

Отчет об подключенных в данный момент к компьютеру логических дисках можно просмотреть через меню Сервис \ Логические диски, или Файл \ Отчет \ Настройки системы, например:

. . .
ЛОГИЧЕСКИЕ ДИСКИ:

A: REMOVABLE: Съемное устройство
C: FIXED: Не съемное устройство (жесткий диск)
D: FIXED: Не съемное устройство (жесткий диск)
E: CDROM: Устройство чтения компакт-дисков CD-ROM
F: CDROM: Устройство чтения компакт-дисков CD-ROM
M: CDROM: Устройство чтения компакт-дисков CD-ROM
P: REMOTE: Удаленное (сетевое) устройство
S: REMOTE: Удаленное (сетевое) устройство


И еще один момент, очень важно чтобы все пользователь входили в сеть под уникальными именами, даже в одноранговой сети. Соответственно и значения параметра UserName в файлах reslist.txt для всех рабочих мест сети должно быть разным ! ! !




Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup Резервное копирование Backup