Консультация № 139402
07.06.2008, 07:58
0.00 руб.
0 2 2
Здраствуйте! (Насими)
У меня на работе стоит 30 компютеров и один сервер. На нем устоновлен windows 2003 server enterprise edition. Я хочу чтобы данные (файлы doc, xls, dwg, cdr, jpg и.т.д) user-ов резервно копировались на сервер. Как можно это сделать? Спасибо.

Обсуждение

Неизвестный
07.06.2008, 12:29
общий
это ответ
Здравствуйте, Садыхов Насими Иса!
Как вариант: Создать на сервере папку а вней еще 30 подпапок (по числу юзеров). Для каждой папки дать прова на просмотр/запись лишь одному юзеру который будет сохранять туда документы (ну и себе конечно! :)) Потом каждому юзеру папку Мои документы переместить в его папку на сервере. (Мои документы - Свойства - Папка назначения - переместить). В настройках большенства программ можно задать, чтобы они сохроняли свои файты именно в "Мои документы". Но сами понимаете, если юзеры будут раскидовать файлы по всему жесткому диску, то проблемму это нерешит. Надо, чтобы у них тоже было понимание.... Удачи Вам.
давно
Модератор
137394
1850
07.06.2008, 13:05
общий
это ответ
Здравствуйте, Садыхов Насими Иса!
Лучше всего заставить пользователей хранить все свои файлы в одной папке (естественно, с подпапками). Например, в папке "Мои документы".

Способ 1.
1. Разместить все папки пользователей с документами в одной папке на сервере.
2. Создать для каждого пользователя в этой папке свою подпапку.
3. Организовать доступ пользователя к его папке.
4. Соответственно, на рабочем столе у клиента в свойствах папки "Мои документы" указать в размещении сетевой путь к его папке.
5. В назначенных заданиях организовать регулярное копирование общей папки куда Вам нужно

Способ 2.
1. Завести на каждом компьютере одну и ту же учетную запись, от имени которой сервер будет копировать документы.
2. Организовать доступ на чтение у клиента на его папку "Мои документы" для этой учетной записи. Лучше всего дать этой папке сетевое имя, например, по фамилии клиента, чтобы Вы потом могли легко ориентироваться.
3. В приложении я привожу текст .bat-файла в качестве примера.
В назначенных заданиях на сервере надо организовать запуск этого файла по расписанию от имени пользователя, имеющего доступ к папкам "Мои документы" клиентов, учетную запись для которого создали на всех компьютерах.

Что делает этот командный файл? Он написан на базе стандартной команды XCopy.
- Ведётся запись протокола копирования в файл. В примере я его назвал logfile.txt. Естественно, можно его назвать как угодно и указать для него полный путь в любое доступное место.
- При невозможности копирования выдаётся в этот файл аварийное сообщение
- В лог-файл записывается дата и время копирования
- Копирование осуществляется вызовом подпрограммы CopyUser

Call :CopyUser \\Компьютер\Папка_Мои_Документы\ D:\Где_храним_копии\Клиент\
Сколько клиентов, столько строк с вызовом подпрограммы с указанием конкретных путей. В примере - 3 клиента

В подпрограмме в лог-файл пишется, откуда и куда создаются копии
В подпрограмме необходимо организовать вызов xcopy для файлов с расширениями, которые Вы хотите копировать. В примере это 3 типа файлов (.doc, .xls, .ppt)
/S - позволяет копировать папки с подпапками;
/D - копируем только более свежие файлы;
/F - при копировании отображаем, что,откуда и куда копируем для записи в лог-файл.
/Y - не задаём вопросов не перезапись ранее скопированного файла;
После каждой XCopy анализируем успешность попытки создания копии.

Первый раз задание будет работать дольше всего - надо ведь всё скопировать!
Затем будут копироваться только измененные документы, что сравнительно мало затратно по времени.

Все это у меня испытано и работает, иной раз помогает.


Приложение:
set CopyLog=logfile.txtset NotCopy=" !!!!!!!!!!!! Копирование не производилось, возможно компьютер выключен !!!!!"Echo ================================================================================ >>%CopyLog%Echo %Date% %Time% >>%CopyLog%Echo ================================================================================ >>%CopyLog%Call :CopyUser \\Компьютер1\Папка_Мои_Документы1\ D:\Где_храним_копии\Клиент1\Call :CopyUser \\Компьютер2\Папка_Мои_Документы2\ D:\Где_храним_копии\Клиент2\Call :CopyUser \\Компьютер3\Папка_Мои_Документы3\ D:\Где_храним_копии\Клиент3\GoTo End:CopyUserEcho --- Копируем %1 в %2 >>%CopyLog% xcopy %1*.doc %2 /S /D /F /Y >>%CopyLog%If Not %ErrorLevel%==0 Echo %NotCopy% >>%CopyLog%xcopy %1*.xls %2 /S /D /F /Y >>%CopyLog%If Not %ErrorLevel%==0 Echo %NotCopy% >>%CopyLog%xcopy %1*.ppt %2 /S /D /F /Y >>%CopyLog%If Not %ErrorLevel%==0 Echo %NotCopy% >>%CopyLog%Echo ------------------------------------------------------------------ %Date% %Time% >>%CopyLog%:End
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа