Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование по сети

Ответить
Настройки темы
CMD/BAT - [решено] Копирование по сети

Новый участник


Сообщения: 10
Благодарности: 1

Профиль | Отправить PM | Цитировать


Всем привет!
Сразу прошу прощения если данная тема уже поднималась. Много гуглил, в том числе и на этом форуме, но ничего не помогло, так как я в этом деле полный нуб.
Есть сетевая стора, на ней есть папки общего доступа, подключенные на компы пользователей.
Есть задача, в целях обеспечения сохранности данных делать резервную копию общих папок со сторы на сервер. И стора и сервер находятся в одной подсети.
Подскажите какой командой (copy, xcopy, robocopy или еще какой) и с какими атрибутами сделать батник, чтобы копировать только новые или измененные файлы и папки и оставлять те, которые были удалены со сторы?

Заранее всем огромное спасибо!

Отправлено: 09:54, 02-03-2017

 

Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Цитата d.makarov:
Много гуглил, в том числе и на этом форуме, но ничего не помогло »
Читаем описание команд, например xcopy /? Там всё написано. Как пример (и батник не нужен)
Код: Выделить весь код
xcopy /D /E /C /H /R /Z /Y "\\ServerFrom\ShrFrom\*.*" "\\ServerTo\ShrTo\"
Насколько я понимаю, хочется сделать автоматическое копирование, по видимому, в назначенном задании. Какой сервер из этих двух это сделает? Для него лучше сетевой путь заменить на локальный. Или это третья машина?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-03-2017 в 11:20.


Отправлено: 11:09, 02-03-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 10
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо за ответ.
Для лучшего понимания опишу ситуацию подробнее.
Имеется сервер и имеется сетевое хранилище My Book Live. На сетевом хранилище есть 3 общедоступных папки с ограниченным доступом (то есть в настройках хранилища есть несколько пользователей с распределенными правами каждому в свою папку и админская учетка с доступом во все папки). В целях обеспечения сохранности содержимого папок, хочу делать бекап этих трех папок с сетевого хранилища на сервер. Хочу сделать батник и запихнуть его в шедулер, чтоб он отрабатывал по заданному расписанию и копировал содержимое папок с сетевого хранилища на сервер. При этом надо чтоб копировались все новые файлы и существующие измененные файлы, а в случае удаления какого либо файла из сетевого хранилища, чтоб он оставался в резервной копии на сервере.

Отправлено: 16:53, 02-03-2017 | #3


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


d.makarov, То есть, имеется сервер, на который необходимо батником, который исполняется планировщиком этого сервера,
скопировать с сетевого хранилища \\Store
несколько папок
\\Store\User1
\\Store\User2
\\Store\User3
......
в указанное на этом сервере место Z:\Box_Arc
в папки
Z:\Box_Arc\User1
Z:\Box_Arc\User2
Z:\Box_Arc\User3
.....
Вариант 1
Код: Выделить весь код
@Echo Off

xcopy /D /E /C /H /R /Y /Z "\\Store\User1\*.*" "Z:\Box_Arc\User1\"
xcopy /D /E /C /H /R /Y /Z "\\Store\User2\*.*" "Z:\Box_Arc\User2\"
xcopy /D /E /C /H /R /Y /Z "\\Store\User3\*.*" "Z:\Box_Arc\User3\"
Вариант 2
Код: Выделить весь код
@Echo Off

Set "From=\\Store"
Set "To=Z:\Box_Arc"

Set "PRG=xcopy /D /E /C /H /R /Y /Z"

Call  :PrgCopy "User1"  "User1"
Call  :PrgCopy "User2"  "User2"
Call  :PrgCopy "User3"  "User3"

goto :Eof

:PrgCopy
	%PRG% "%From%\%~1\*.*" "%To%\%~2\"
Вариант ничем не отличается от первого, просто написана попдпрограмма, при вызове которой не надо писать ни команду, ни общую часть путей копируемой папки. То есть, вызов подпрограммы копирования куда короче, чем xcopy с ключами и путями, что делает работу батника более наглядной и позволяет легче изменить общие пути - только в одном месте.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 04-03-2017 в 23:09.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:28, 02-03-2017 | #4


Новый участник


Сообщения: 10
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

Еще поковыряюсь с ними немного и позже скину тексты батников, мб найдете мою ошибку)

Отправлено: 15:33, 03-03-2017 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование по сети

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Копирование файлов по локальной сети nail1987 Скриптовые языки администрирования Windows 11 31-08-2015 16:15
Резервное копирование по сети noSHADE Хочу все знать 10 08-07-2015 08:14
Разное - Медленное копирование файлов по сети. Doggy Microsoft Windows 7 16 22-03-2012 12:18
2008 R2 - Резервное копирование по сети. ztn2705 Windows Server 2008/2008 R2 10 20-03-2012 01:01
2008 R2 - Медленное открытие/копирование по сети iltmpz Windows Server 2008/2008 R2 5 11-11-2011 08:38




 
Переход