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

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

Ответить
Настройки темы
Любой язык - Скрипт резервного копирования папок

Аватара для Sheyko

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


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

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


Изменения
Автор: Sheyko
Дата: 03-06-2014
Тема наверное изъезженная, но все-таки прошу помощи!

Добрый день, срочно встала задача настроить резервное копирование 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

помогите пожалуйста: как сделать папки с датами и удалять старое

-------
sheykom


Отправлено: 11:21, 03-06-2014

 

Пользователь


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

Профиль | Отправить 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



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

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


Аватара для Sheyko

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


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

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


firstarey, я извиняюсь но у меня ошибка что не удалось подключить сетевой диск, хотя диск я подключил с папкой bckup_opack.

вот строчка : P: \\192.168.10.11\bckup_opack - P- буква диска?

может еще подкинете литературу что бы учиться с 0 писать скрипты!

-------
sheykom


Отправлено: 16:22, 03-06-2014 | #3


Ветеран


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

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


Цитата Sheyko:
но у меня ошибка что не удалось подключить сетевой диск, хотя диск я подключил с папкой bckup_opack. »
Не «хотя я подключил», а именно «потому, что я подключил». В пакетном файле делается самостоятельная попытка подключения удалённого ресурса, и прерывание его работы в случае ошибки подключения.

P.S. Для работы само подключение удалённого ресурса ни разу не является обязательным. Пакетные файлы превосходно работают с UNC-ресурсами напрямую.

Отправлено: 18:14, 03-06-2014 | #4


Пользователь


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

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


Sheyko, товарищ Iska правильно заметил что подключать ничего не нужно - батник сам подключает сетевой ресурс.
и так же верно что можно обойтись без этого, а копировать на прямую по пути \\192.168.10.11\bckup_opack.


это сделано чтоб подстраховаться при удалении старых архивов (строка, начинающаяся с "rem forfiles")
и да, чтобы удаление работало необходимо убрать "rem" перед "forfiles", но сначала проверьте!!
в той же строке стоит параметр "-5" он отвечает за то насколько старые файлы убрать надо

Отправлено: 06:20, 04-06-2014 | #5


Аватара для Sheyko

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


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

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


Iska, Я снова извиняюсь, вчера я уезжал. Скрипт запускается, сам подключает сетевой диск, но скопировать папку не может! в логе : недопустимый путь и не удалось скопировать файлы.

И еще вопрос, я так понимаю строчку с подключением сетевого диска лучше убрать, ибо если запускать повторно скрипт, то он ругается что имя локального устройства использовано, т.е пытается создать то что уже есть!

-------
sheykom


Отправлено: 09:01, 06-06-2014 | #6


Аватара для Elven

Ветеран


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

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


Sheyko, чтобы не ругалось диск после копирования нужно отключать.
Код: Выделить весь код
NET USE /DELETE p:
кроме того Iska категорически прав: подключение сетевого диска в данном случае не имеет смысла, т.о. подключение диска можно вообще убрать, а копирование примет нижеследующий вид:
Код: Выделить весь код
if not exist "\\192.168.10.11\bckup_opack\%DY%-%DM%-%DD%\" MD "\\192.168.10.11\bckup_opack\%DY%-%DM%-%DD%\"
xcopy D:\opac-global\ \\192.168.10.11\bckup_opack\%DY%-%DM%-%DD%\ /S /F /Y

Отправлено: 09:55, 06-06-2014 | #7


Аватара для Sheyko

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


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

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


Посмотрите пожалуйста вариант, без добавления сетевого диска:

PHP код: Выделить весь код

@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%


if 
not exist "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\" MD "192.168.101.77bckup_opac%DY%-%DM%-%DD%"
xcopy D:\backup\ \\192.168.101.77\bckup_opac\%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.101.77\bckup_opaс
rem  Критерий отбора:    старше 4 дней
echo %DY%-%DM%-%DD% %TH%-%TM% чистим>>COPY_NET.log
:end_net
echo в процессе возникли ошибки. смотрите лог
ping -n 4 localhost>nul
exit 

Что неправильно? ибо пишет: недопустимый путь (папка расшаренная) по \\ захожу

-------
sheykom


Последний раз редактировалось Sheyko, 06-06-2014 в 11:02.


Отправлено: 10:50, 06-06-2014 | #8


Ветеран


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

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


Ну, во-первых:
Код: Выделить весь код
if not exist "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%\." MD "\\192.168.101.77\bckup_opac\%DY%-%DM%-%DD%"

Отправлено: 11:10, 06-06-2014 | #9


Пользователь


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

Профиль | Отправить 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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход