Страница 1 из 2

Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 23 фев 2011, 14:42
Andrew Pushkarev
Есть сервер горячего резерва, который является зеркалом двух рабочих файл-серверов. Процедура перехода на резерв сводится к перенаправлению логин скриптов (в пользу Резерва) и раздаче зараннее заготовленных прав на папки. Руководство ставит задачу раз в году проводить зарницы (выполнять переход на резервный сервер).
Вопрос по подготовке скриптов. Умею экспотрировать скрипты в текстовый файл и обратно в NDS. Но если это сделать не однажды , а делать периодически, то не нравится.
Вопрос: если вместо двухсот скриптов (которые отличаются по причине наличия, или отстутствия прав на папки) для всех установить один такой контейнерный скрипт?

MAP ERRORS OFF
map K:=server1\vol1: (права есть у некоторых)
map L:=server2\vol2: (права есть у многих)
map N:=server4\vol4: (права есть у всех)

Тогда при налички прав БУДЕТ буква, а при отсутствии – НЕТ.
Соответственно работа по ПЕРЕНАПРАВЛЕНИЮ на другой сервер – замена Server1 на ServerX в контейнерном скрипте.
Какое Ваше мнение по такому решению?

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 23 фев 2011, 15:41
$erg
Вот мой вариант скрипта перехода с основного на резервный сервер. viewtopic.php?f=1&t=10934&p=73746&hilit=%F1%EA%F0%E8%EF%F2#p73746
С праздником!

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 23 фев 2011, 17:02
Павел Гарбар
Делаешь еще две группы: 1-я - для некоторых, 2-я - для многих. А потом в процедуру вставляешь две команды IF с проверкой участия в первой или второй группах. А третий мап оставляешь как есть.

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 23 фев 2011, 19:20
Andrew Pushkarev
1-я, 2-я,... это был академический пример. Права у пользователей - персональные, разных комбинаций букв (MAP) более 12. Группы конечно же есть, но по другим признакам.

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 23 фев 2011, 20:26
Павел Гарбар
Есть еще команда include...
Делаешь для какого-нибудь верхнего контейнера процедуру, в которой определяешь какую-нибудь переменную, например, ZARNITSA. Потом включаешь эту процедуру во все остальные, а в них: IF ZARNITSA = 1 map1 else map2
И раз в год меняешь ZARNITSA=0 на 1.

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 24 фев 2011, 11:30
Влад А.Сокол aka Akina
Andrew Pushkarev писал(а):Тогда при налички прав БУДЕТ буква, а при отсутствии – НЕТ.

Код: Выделить всё
If Exist \\Server\Volume\Folder\. Then Map Root X:=\\Server\Volume\Folder

?

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 24 фев 2011, 12:12
$erg
Павел Гарбар писал(а):Есть еще команда include...
Делаешь для какого-нибудь верхнего контейнера процедуру, в которой определяешь какую-нибудь переменную, например, ZARNITSA. Потом включаешь эту процедуру во все остальные, а в них: IF ZARNITSA = 1 map1 else map2
И раз в год меняешь ZARNITSA=0 на 1.

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

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 25 фев 2011, 09:55
Павел Гарбар
Просто при мапировании на недоступный ресурс будет некоторая задержка.

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 25 фев 2011, 13:44
$erg
$erg писал(а):Можно сделать в скрипте переменную, Которую мы будем задавать постоянно руками при помощи файликов с содержимым: SET SERV="FS1" .
Пример:
TEMP set FS = "%FILE_SERVER"
MAP ROOT S16:=Z:=FS1\SYS:PUBLIC
include z:\perehod.txt
include FS2\SYS:\PUBLIC\perehod.txt

IF "%SERV"="FS1" THEN
SET FS = "FS1"
ELSE
IF "%SERV"="FS2" THEN
SET FS = "FS2"
WRITE "Внимание вы работаете на резервном сервере FS2."
PAUSE
FIRE 3
END
END

Далее мапим диски:
MAP ROOT S16:=Z:=%<FS>\SYS:\PUBLIC
и т.п.
Получается что при выходе из строя основного сервера FS1, z:\perehod.txt будет недоступен и нам необходимо в FS2\SYS:\PUBLIC\perehod.txt изменить запись с "SET SERV="FS1" на "SET SERV="FS2", а т.к. 2 сервера у нас идентичны по структурам каталогов и правам - после перезагрузки рабочих станций пользователи заметят только "Внимание вы работаете на резервном сервере.", паузу и 3 раза пикнет спикер, а все остальное будет так как было.
Вроде бы правильно скрипт написал.

В том то и дело что в данном скрипте не будет недоступного ресурса. Как только основной сервер лег, мы открываем файл FS2\SYS:\PUBLIC\perehod.txt и меняем в нем "SET SERV="FS1" на "SET SERV="FS2"
И все ресурсы будут мапироваться на FS2

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 25 фев 2011, 23:20
Boris Morozov
Я в таких случаях завожу какой-нибудь безобидный каталог, на который права есть у всех, хотя бы по чтению. Никаких личных скриптов. Боремся с этим жэстачайше. Случаи бывали реальные. переходили очень быстро.

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 28 фев 2011, 12:19
Влад А.Сокол aka Akina
$erg писал(а):Как только основной сервер лег, мы открываем файл FS2\SYS:\PUBLIC\perehod.txt и меняем в нем "SET SERV="FS1" на "SET SERV="FS2"
И все ресурсы будут мапироваться на FS2

:shock: А про существование объекта "Сервер" в eDir Вы не слышали?

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 28 фев 2011, 13:15
$erg
Влад А.Сокол aka Akina писал(а): :shock: А про существование объекта "Сервер" в eDir Вы не слышали?

Не совсем понял вопрос.
Если проверять объект "сервер" в дереве, то объект будет даже если сервер упал.

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 28 фев 2011, 13:26
Влад А.Сокол aka Akina
При чём тут проверять?
Менять! свойства объекта в дереве изменять намного логичнее, чем строку во внешнем файле...

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 28 фев 2011, 13:35
Dimerson
пипл а в чем трабла средактировать логинскрипт ? типа залочен или как ?

Re: Контейнерный логин скрипт. Ваше мнение

СообщениеДобавлено: 28 фев 2011, 14:25
$erg
Влад А.Сокол aka Akina писал(а):При чём тут проверять?
Менять! свойства объекта в дереве изменять намного логичнее, чем строку во внешнем файле...

Я не спорю, но я ведь не навязываю тот или иной вариант, я так же хочу разобраться как правильнее.
Влад, у Вас есть пример что и как проверять? Да и в данном случае у пользователей должны быть соответствующие права на объект в дереве, что бы они могли прочитать его атрибуты.
Dimerson писал(а):пипл а в чем трабла средактировать логинскрипт ? типа залочен или как ?

Когда в скрипте 2 строчки - нет проблем, а когда "война и мир" - то это будет очень долго. Да и могут возникнуть проблемы, когда кто-то держит скрипт по причине какой-то ошибке, и просто невозможно будет его поправить. Да и сбой может произойти, когда "адекватного" человека нет на месте.