|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Скрипт резервного копирования папок |
|
|
Любой язык - Скрипт резервного копирования папок
|
Новый участник Сообщения: 28 |
Тема наверное изъезженная, но все-таки прошу помощи!
Добрый день, срочно встала задача настроить резервное копирование 2х папок с содержимым, с сервера библиотеки на другой ПК по ЛВС. Я не программист( Сталкиваюсь с этим в 1й раз. Скрипты ни разу не приходилось писать и что это, знаю к сожалению только в теории=( Нашел книгу: "Скрипты для администратора Windows" и разные статьи по скриптам, но время до конца недели, не успеваю вникнуть и изучить. Помогите пожалуйста написать скрипт с разнесением. Не судите строго,я начинающий! итак поэтапно: Задача: надо что бы 2 папки копировались на другой пк в лвс с датами, старые копии удалялись! как я понял, Для этого надо: 1) Подключить папку куда будут копироваться папки, как сетевой диск - Сразу вопрос: есть ли вариант не подключать ее сетевым диском? 2) Сам скрипт - вопрос : можно в одном скрипте сразу указать копирование 2 папок? 3) Добавить в задание чтобы скрипт выполнялся Теперь самое сложное для меня, скрипт. 1) Надо указать откуда копирую 2) Вставить чтобы создавалась папка с датами 3) Потом - куда копируется 4) Старые копии удалить примерно я понимаю это так: XCOPY "D:\opac-global" \\192.168.10.11\bckup_opack\ /E /C /I /H /R /K /Y /F /O помогите пожалуйста: как сделать папки с датами и удалять старое |
|
------- Отправлено: 11:21, 03-06-2014 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Sheyko, вариантов множество. например вот такой с логом:
@echo off Color 0e rem http://forum.oszone.net/thread-283076.html rem задаем переменные: rem дата и время set DD=%date:~0,2% set DM=%date:~3,2% set DY=%date:~6,4% set TH=%TIME:~0,2% set TM=%TIME:~3,2% ping 192.168.10.11 if %errorlevel% NEQ 0 ( echo %DY%-%DM%-%DD% %TH%-%TM% нет пинга>>COPY_NET.log goto end_net ) NET USE P: \\192.168.10.11\bckup_opack if %errorlevel% NEQ 0 ( echo %DY%-%DM%-%DD% %TH%-%TM% не удалось подключить сетевой диск>>COPY_NET.log goto end_net ) if not exist "p:\%DY%-%DM%-%DD%\" MD "p:\%DY%-%DM%-%DD%\" xcopy D:\opac-global\ p:\%DY%-%DM%-%DD%\ /S /F /Y if %errorlevel% NEQ 0 ( echo %DY%-%DM%-%DD% %TH%-%TM% не удалось скопировайть файлы>>COPY_NET.log goto end_net ) rem Удаляем архивы из: \\192.168.10.11\bckup_opack rem Критерий отбора: старше 4 дней echo %DY%-%DM%-%DD% %TH%-%TM% чистим>>COPY_NET.log rem forfiles /P P:\ /M *.* /S /D -5 /C "cmd /c echo Deleted: @PATH >>COPY_NET.log & del @FILE" exit :end_net echo в процессе возникли ошибки. смотрите лог ping -n 4 localhost>nul start COPY_NET.log exit |
Последний раз редактировалось firstarey, 03-06-2014 в 12:09. Отправлено: 12:02, 03-06-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 28
|
Профиль | Отправить PM | Цитировать firstarey, я извиняюсь но у меня ошибка что не удалось подключить сетевой диск, хотя диск я подключил с папкой bckup_opack.
вот строчка : P: \\192.168.10.11\bckup_opack - P- буква диска? может еще подкинете литературу что бы учиться с 0 писать скрипты! |
------- Отправлено: 16:22, 03-06-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Sheyko:
P.S. Для работы само подключение удалённого ресурса ни разу не является обязательным. Пакетные файлы превосходно работают с UNC-ресурсами напрямую. |
|
Отправлено: 18:14, 03-06-2014 | #4 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Sheyko, товарищ Iska правильно заметил что подключать ничего не нужно - батник сам подключает сетевой ресурс.
и так же верно что можно обойтись без этого, а копировать на прямую по пути \\192.168.10.11\bckup_opack. это сделано чтоб подстраховаться при удалении старых архивов (строка, начинающаяся с "rem forfiles") и да, чтобы удаление работало необходимо убрать "rem" перед "forfiles", но сначала проверьте!! в той же строке стоит параметр "-5" он отвечает за то насколько старые файлы убрать надо |
|
Отправлено: 06:20, 04-06-2014 | #5 |
Новый участник Сообщения: 28
|
Профиль | Отправить PM | Цитировать Iska, Я снова извиняюсь, вчера я уезжал. Скрипт запускается, сам подключает сетевой диск, но скопировать папку не может! в логе : недопустимый путь и не удалось скопировать файлы.
И еще вопрос, я так понимаю строчку с подключением сетевого диска лучше убрать, ибо если запускать повторно скрипт, то он ругается что имя локального устройства использовано, т.е пытается создать то что уже есть! |
------- Отправлено: 09:01, 06-06-2014 | #6 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Sheyko, чтобы не ругалось диск после копирования нужно отключать.
кроме того Iska категорически прав: подключение сетевого диска в данном случае не имеет смысла, т.о. подключение диска можно вообще убрать, а копирование примет нижеследующий вид: |
Отправлено: 09:55, 06-06-2014 | #7 |
Новый участник Сообщения: 28
|
Профиль | Отправить PM | Цитировать Посмотрите пожалуйста вариант, без добавления сетевого диска:
Что неправильно? ибо пишет: недопустимый путь (папка расшаренная) по \\ захожу |
------- Последний раз редактировалось Sheyko, 06-06-2014 в 11:02. Отправлено: 10:50, 06-06-2014 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:10, 06-06-2014 | #9 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Цитата Sheyko:
@echo off Color 0e rem http://forum.oszone.net/thread-283076.html rem задаем переменные: set DD=%date:~0,2% set DM=%date:~3,2% set DY=%date:~6,4% if not exist "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\" MD "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\" xcopy D:\backup\* \\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\ /S /F /Y if %errorlevel% NEQ 0 ( echo не удалось скопировайть файлы pause>nul ) pause>nul |
|
Отправлено: 11:10, 06-06-2014 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Скрипт для копирования папок по сети | _bb_ | Скриптовые языки администрирования Windows | 4 | 02-03-2011 15:07 | |
Подскажите скрипт для резервного копирования с хостинга на хостинг | Гарин | Вебмастеру | 3 | 17-03-2010 03:32 | |
Разное - Скрипт резервного копирования | dividik | Microsoft Windows 2000/XP | 10 | 27-01-2009 12:45 | |
Как правильно уписать скрипт резервного копирования | madmax24 | Microsoft Windows NT/2000/2003 | 2 | 14-01-2009 12:31 | |
FreeBSD - Помогите написать скрипт для резервного копирования на основе команды CP | NickNick | Общий по FreeBSD | 3 | 02-06-2008 13:30 |
|