Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Сеть в win2k (http://forum.oszone.net/showthread.php?t=5419)

Kasper 08-01-2003 17:48 27393

Привет всем. У меня есть программа, которая не работет в сетевом варианте. Т.е. поместив ее только на сервер и создав с клиентских тачек ярлыки не получиться (работать на клиентах не будет). Есть мысля сделать на каждой машине копию этой программы. Но вот в чем вопрос: .........
как сделать так, чтобы эти папки постоянно содержали одинаковые  файлы, если например на одном из клиентов появился новый файл, то автоматом он бы появлялся и на остальных машинах.  
Портфель не подходит!
Посоветуйте, плиз.
Заранее благодарен, кстати, на машинах стоит win2k prof.

ArtemD 08-01-2003 17:52 27394

UfaMax
Как вариант, можно попробовать установить программу на TerminalServer.

Giorgievich 08-01-2003 18:16 27395

UfaMax
А эта программа не работает, если сетевой диск на котором находится эта программа подключить к компьютеру (Map Network Drive)?

SkyF 08-01-2003 18:51 27396

Поднять DFS и настроить реплики для общей папки в сети.

Это правда для W2k Server  актуально. Prof  - только как клиенты подойдут..

[s]Исправлено: SkyF, 19:18 8-01-2003[/s]

Kasper 09-01-2003 08:51 27397

ArtemD
Можно поподробнее про ентот Server.


Добавлено:

Giorgievich
В смысле??? Не совсем тебя понял. Вернее совсем н понял:-)) Объясни чайнику.......


Добавлено:

SkyF
А если на сервере стоит win2k Server, а на клиенте win2k prof то этот метод актуален (получится)???

ArtemD 09-01-2003 09:37 27398

UfaMax

1. Запускаешь справку на сервере, ключевое слово для поиска "Terminal"

2. страничка на Microsoft

3. Поиск по Яndex-у


Giorgievich 09-01-2003 10:10 27399

UfaMax
Я имел в виду, что можно подключить сетевой диск к компьютеру, т.е. подлючаемый ресурс будет виден в системе под какой-нибудь буквой.
Объясню на примере:
Допустим, та программа находится на сервере SRV в папке PRG с общим доступом, т.е. в данный момент чтоб запустить эту программу вы входите на сервер SRV , потом в эту папку PRG и после этого запускаете вашу программу. Можно подключить эту папку PRG к вашему компьютеру и задать ей какую-нибудь букву, для этого заходим на SRV и выделяем папку PRG, правой кнопкой мыши кликаем по ней и в появившемся меню выбираем Map Network Drive (Подключить сетевой диск), в появившемся окне выбираем букву (например X: ) для этого сетевого ресурса (рекомендуется назначать подключаемым сетевым ресурсам буквы начиная с конца алфавита: Z: , Y: , X: и т.д.). Включаем пункт Recconect at logon (Восстанавливать при входе в систему) и нажимаем на кнопку Finish. Теперь открыв My Computer вы увидите этот сетевой ресурс как диск X...


Вполне возможно, что я не очень понятно все объяснил. В таком случае вызовите справку Windows и в строке поиска наберите Map Network Drive или Подключить сетевой диск (в зависимости от версии Windows)
Удачи



[s]Исправлено: Giorgievich, 11:17 9-01-2003[/s]

Animal 09-01-2003 12:50 27400

UfaMax
Способ который предлагает Giorgievich очень прост (и это хорошо), но не универсален, т.к. возможно (не знаю что у Вас за программа) работа в программе одного из пользователей заблокирует возможность работы в этой программе всех остальных. Если это не проблема в Вашей ситуации - то неплохой способ.

Вот еще один довольно примитивный способ, подходит поэтому также не всегда:

На рабочей станции настроить так, что перед запуском программы файлы копируются на раб. станцию с сервера в том и только в том (чтобы не тормозило!) случае, если на сервере они новее, чем на раб. станции. Это реализуется посредством bat-файла с командой xcopy \\MyServer\Prog\*.* c:\Prog\*.* /D/E/C/Y

После того, как программа отработает, запускается другой bat-файл с прописанным в нем xcopy c:\Prog\*.* \\MyServer\Prog\*.* /D/E/C/Y

Права, понятно, должны быть на директорию на сервере.

Если программа не является консольным приложением или программой DOS, то есть дополнительный вопрос по поводу запуска второго bat-файла после того, как прога отработает. Если самописная - можно вставить в конец, если нет - пользователь пусть руками 2-ой bat-файл запускает или надо писать/искать еще прогу, из под которой последовательно будут запускаться 1-ый bat-файл, основная прога, 2-й bat-файл.

Kasper 10-01-2003 08:44 27401

Giorgievich
Спасибо за подробное объяснение. Я все понял, но к сожалению (сбил с толку англ. язык) так уже делал и
с сетевого ресурса она тоже не хочет работать. Но, все равно большое спасибо.

Добавлено:

Animal
А вот Ваш способ, пока для меня самый подходящий. Огромное спасибо.

ArtemD 10-01-2003 09:33 27402

Цитата:

например на одном из клиентов появился новый файл
хорошо, если новая информация будет только в новых файлах
так же надо учесть, что "автоматом" будет обновляться только когда будут запускаться bat-файлы (на всех рабочих станциях, а не только у того, кто совершил обновления)

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

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

Kasper 10-01-2003 09:35 27403

Animal
Написал bat файл таким методом как Вы объяснили, при запуске ругается: "не нейден файл *.* ............ Пробовал без ключей, все равно. С чем это связанно???

ArtemD 10-01-2003 09:41 27404

UfaMax

попробуй присоединить папку \\MyServer\Prog\ как сетевой диск.
к примеру s:

тогда исправляешь в bat-файле
"xcopy \\MyServer\Prog\*.* c:\Prog\*.* /D/E/C/Y" на "xcopy s:\*.* c:\Prog\*.* /D/E/C/Y"

Animal 10-01-2003 16:09 27405

ArtemD
Цитата:

а теперь представь ситуацию, что меняется информация в одном и том же файле двумя разными людьми в период между обновлениями
Ты думаешь, я этого не понимал?! Как ни крутись, в общем случае если прога не расчитана на работу в сети, то нет универсального способа сделать ее сетевой, не переписывая код. ("Сколько перья ни цепляй - цыпленком не станешь"). Я предложил один из возможных вариантов. Например, написана программка, эксклюзивно открывающая dbf-файлы. Нужно чтобы один чел. вбивал данные, а 5 других - смотрели иногда. Если все будут на сетевом диске открывать, то первый, кто запустил прогу, заблокирует доступ остальным.

UfaMax
Я проверил, у меня работает так, как написано. Ну имя сервера и ресурса не такое, как в примере, конечно. Права доступа/безопасность проверить нужно. Ну попробуйте, если никак, через сетевой диск. Если постоянно назначать не нужно, можно в bat-файле 3 строки прописать:
net use W: \\Myserver\Prog /YES
xcopy W:\*.* c:\Prog\*.* /D/E/C/Y
net use W: /DELETE /YES

[s]Исправлено: Animal, 16:18 10-01-2003[/s]

Raistlin 27-02-2003 02:54 27406

UfaMax
У меня таким образом сделано автоматическое обновление на клиентах вирусных баз и версий Dr.Web, The Bat! и др. Собственно обновление реализуется через bat-файл, находящийся на сервере.
Для работы требуется:
1. Планировщик задач (какой-нибудь) на каждом клиенте -- чтобы ежедневно запускалось обновление (Reminder 2000 с http://reminder.chat.ru).
2. Программа для сравнения бинарных файлов, умеющая возвращать ERRORLEVEL (BinaryFileCompare с http://tsoft.ecrew.org).
3. Умение писать bat-файлы и -- главное -- терпение их отлаживать.
Bat-файл проверяет, идентичны ли жизненно важные файлы (exe) сетевым копиям, если нет, то заменяет их сетевыми. Планировщик на клиентах лучше настроить на разное время (хотя бы на минуту чтобы различалось), чтобы не случился перегруз сети.
Вкратце идея понятна?

[s]Исправлено: Raistlin, 2:56 27-02-2003[/s]


Время: 17:12.

Время: 17:12.
© OSzone.net 2001-