![]() |
Скрипт резервного копирования папок
Тема наверное изъезженная, но все-таки прошу помощи!
Добрый день, срочно встала задача настроить резервное копирование 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 помогите пожалуйста: как сделать папки с датами и удалять старое |
Sheyko, вариантов множество. например вот такой с логом:
Код:
@echo off |
firstarey, я извиняюсь но у меня ошибка что не удалось подключить сетевой диск, хотя диск я подключил с папкой bckup_opack.
вот строчка : P: \\192.168.10.11\bckup_opack - P- буква диска? может еще подкинете литературу что бы учиться с 0 писать скрипты! |
Цитата:
P.S. Для работы само подключение удалённого ресурса ни разу не является обязательным. Пакетные файлы превосходно работают с UNC-ресурсами напрямую. |
Sheyko, товарищ Iska правильно заметил что подключать ничего не нужно - батник сам подключает сетевой ресурс.
и так же верно что можно обойтись без этого, а копировать на прямую по пути \\192.168.10.11\bckup_opack. это сделано чтоб подстраховаться при удалении старых архивов (строка, начинающаяся с "rem forfiles") и да, чтобы удаление работало необходимо убрать "rem" перед "forfiles", но сначала проверьте!! в той же строке стоит параметр "-5" он отвечает за то насколько старые файлы убрать надо |
Iska, Я снова извиняюсь, вчера я уезжал. Скрипт запускается, сам подключает сетевой диск, но скопировать папку не может! в логе : недопустимый путь и не удалось скопировать файлы.
И еще вопрос, я так понимаю строчку с подключением сетевого диска лучше убрать, ибо если запускать повторно скрипт, то он ругается что имя локального устройства использовано, т.е пытается создать то что уже есть! |
Sheyko, чтобы не ругалось диск после копирования нужно отключать.
Код:
NET USE /DELETE p: Код:
if not exist "\\192.168.10.11\bckup_opack\%DY%-%DM%-%DD%\" MD "\\192.168.10.11\bckup_opack\%DY%-%DM%-%DD%\" |
Посмотрите пожалуйста вариант, без добавления сетевого диска:
PHP код:
|
Ну, во-первых:
Код:
if not exist "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\." MD "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%" |
Цитата:
Код:
@echo off |
- Выше нашли косяк - не нужны апострофы в конце xcopy "D:\backup\" и "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\"
|
Sheyko, можно вообще вот так:
Код:
@echo off |
firstarey, так прям красиво смотрится и читается легче! спасибо! сейчас еще поэкспериментирую
|
Время: 02:47. |
Время: 02:47.
© OSzone.net 2001-