Имя пользователя:
Пароль:
 | Правила  

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

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

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


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

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


Добрый день! Нужно переместиь бэкапы с сервера на другую машину.

Xcopy \\SQL\BackUp\\*.bak f:\SQL\*.bak /d - копирование делается нормально, но из-за большого веса файлов, нужно именно перемещение.

Подскажите пожалуйста как это организовать? Спасибо.

Отправлено: 12:15, 30-01-2017

 

Ветеран


Contributor


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

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


Александр_Кот@vk,
Как вариант, совместить перемещение файлов с их архивированием
Используем архиватор RAR. Ключ -m1 позволит задать минимальный уровень сжатия, что для бэкапа базы даст существенную экономию места при сравнительно небольших затратах по времени. Ключ -df удалит исходные файлы после успешной архивации.
Код: Выделить весь код
@Echo off

Set "From=\\SQL\BackUp\*.bak"
Set "To=f:\SQL"

Set "Arc="C:\Program Files\WinRAR\WinRAR.exe" a -m1 -df"

FOR %%f IN ("%From%") DO %Arc% "%To%\%%~nxf.rar" "%%f"
Конечно, возможно использовать и другие архиваторы. Например, 7z
Код: Выделить весь код
@Echo off

Set "From=\\SQL\BackUp\*.bak"
Set "To=f:\SQL"

Set "Arc="C:\Program Files\7-Zip\7zG.exe" a -mx=1 -sdel"

FOR %%f IN ("%From%") DO %Arc% "%To%\%%~nxf.7z" "%%f"
Можно копировать с последующим удалением исходного файла при успешном завершении процесса для каждого файла
Код: Выделить весь код
@Echo off

Set "From=\\SQL\BackUp\*.bak"
Set "To=f:\SQL"
FOR %%f IN ("%From%") DO Copy "%%f" "%To%\" >nul &&Del "%%f"

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


Последний раз редактировалось megaloman, 30-01-2017 в 14:26.

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

Отправлено: 13:00, 30-01-2017 | #2



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

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


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


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

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


Цитата megaloman:
Используем архиватор RAR. Ключ -m1 позволит задать минимальный уровень сжатия, что для бэкапа базы даст существенную экономию места при сравнительно небольших затратах по времени. Ключ -df удалит исходные файлы после успешной архивации. Конечно, возможно использовать и другие архиваторы.
Код:
@Echo off
Set "From=\\SQL\BackUp\*.bak"
Set "To=f:\SQL"
Set "Arc="C:\Program Files\WinRAR\WinRAR.exe" a -m1 -df"
FOR %%f IN ("%From%") DO %Arc% "%To%\%%~nxf.rar" "%%f" »
Файл архивируется и копируется, но при удалении с сервера выскакивает сообщение: "отказано в доступе" (при удалении файла)... Как приписать логин и пароль администратора, чтобы были права? Спасибо.

Отправлено: 13:35, 30-01-2017 | #3


Ветеран


Contributor


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

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


Александр_Кот@vk, Читайте хелп команды Net use /?
Мне не на чем отладить, попробуйте перед For вставить две строки
Код: Выделить весь код
net use \\SQL\BackUp  /Delete     
net use \\SQL\BackUp  /User:Имя_домена\Имя_пользователя
Уже не упомню, но при этом система должна спросить пароль
ИМХО, раз Вы занимаетесь такой работой и знаете пароль администратора, я бы предложил повысить Ваши права доступа до возможности удаления на ресурсе \\SQL\BackUp чтобы не компрометировать лишний раз пароль администратора.


Дополнил первый пост работой с архиватором 7z

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


Последний раз редактировалось megaloman, 30-01-2017 в 14:28.


Отправлено: 14:13, 30-01-2017 | #4


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


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

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


megaloman,
Пароль не спросило, так же добавил права к ресурсу, но результат такой же...

Отправлено: 14:29, 30-01-2017 | #5


Ветеран


Contributor


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

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


Александр_Кот@vk, Уберите Net Use, если он еще есть, перегрузите клиентский комп, попробуйте что-нибудь ручками записать с клиентского компа в папку \\SQL\BackUp и затем удалить это. Убедитесь, что Вам хватает прав.

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

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

Отправлено: 14:34, 30-01-2017 | #6


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


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

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


megaloman, Действительно не хватало прав. Спасибо!

Отправлено: 16:59, 30-01-2017 | #7


Ветеран


Contributor


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

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


Александр_Кот@vk, Какой вариант решения Вы выбрали? Если с архиватором, какая экономия места и какие затраты по времени, приемлемые?

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


Отправлено: 17:02, 30-01-2017 | #8


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


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

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


Цитата megaloman:
Какой вариант решения Вы выбрали? Если с архиватором, какая экономия места и какие затраты по времени, приемлемые? »
Выбрал 1-й вариант с архивацией, т.к. экономия места очень значительная... Архивы с бэкапами занимают примерно в 10 раз меньше места, а затраты по времени фактически 1к1 с обычным копированием. Большое Вам спасибо!

Код: Выделить весь код
@Echo off
Set "From=\\SQL\BackUp\*.bak"
Set "To=f:\SQL"
Set "Arc="C:\Program Files\WinRAR\WinRAR.exe" a -m1 -df"
FOR %%f IN ("%From%") DO %Arc% "%To%\%%~nxf.rar" "%%f"
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:07, 31-01-2017 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перемещение файлов по списку neprotiv Скриптовые языки администрирования Windows 4 24-01-2013 03:06
CMD/BAT - [решено] Перемещение файлов по размеру dark-------13 Скриптовые языки администрирования Windows 4 19-03-2012 14:31
CMD/BAT - Перемещение файлов по списку Arsenik77 Скриптовые языки администрирования Windows 4 04-12-2011 20:43
CMD/BAT - Перемещение файлов по маске SanyaJoker Скриптовые языки администрирования Windows 0 17-11-2011 12:54
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов KamikadZZe Скриптовые языки администрирования Windows 1 01-09-2011 14:15




 
Переход