Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] резервное копирование с помощью bat-файла (http://forum.oszone.net/showthread.php?t=59451)

vagner_HATE 16-01-2006 01:38 392868

резервное копирование с помощью bat-файла
 
Здравствуйте, вопрос у меня такой - хочу создать bat-файл, чтобы при его выполнении(помещу в назначенные задания) информация из одной папки(основной) копировалась в резервную..например из c:\DB в с:\DBReserv
Вопрос только в том - как сделать, чтобы каждый раз копирование происходило в новую папку(допустим один день - c:\DBReserv1, второй - c:\DBReserv2, третий - c:\DBReserv3 и тд..)
возможно ли это сделать в командном фале?

Tigr 16-01-2006 03:04 392886

Можно создавать не папку а WinRAR-архив с датой создания в имени. Это можно сделать с помощью консольной версии rar.exe (см. rar.txt). Если будут вопросы - могу выложить пример такой команды

vagner_HATE 16-01-2006 09:16 392949

Tigr, спасибо! Попробую этот вариант..но в рамках самообразования, а все таки можно ли как то сделать это так как хотел я вначале?

rivera 16-01-2006 09:37 392959

vagner_HATE
будет трудновато, но наверное возможно

еще как вариант могу предложить программу SyncToy v1.0 for Windows XP
у майкрософта на сайте можно взять!

sushnyak 20-03-2009 18:30 1069552

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

@echo on
date /t>%temp%\d.temp
set /p folder=<%temp%\d.temp
md d:\DBReserv\%folder%
XCOPY /S /E /Y c:\DB d:\DBReserv\%folder%
del /f /q %temp%\d.temp

amel27 21-03-2009 06:22 1069981

Цитата:

Цитата sushnyak
могу предложить такой вариант »

можно покороче:
Код:

Set SRC=C:\DB
Set DST=D:\DBReserv

If Not Exist "%DST%\%date%" MD "%DST%\%date%"
XCOPY /S /D /Y "%SRC%\*" "%DST%\%date%\"


Butunin Klim 03-04-2009 12:03 1082941

amel27,
Как в этом крипте отлавливать ошибки например файл не удалось скопировать по тем или иным причинам... как отловить эту ошибку?

Maza Faka 04-04-2009 08:26 1083738

Цитата:

Цитата Butunin Klim
Как в этом крипте отлавливать ошибки например файл не удалось скопировать по тем или иным причинам... как отловить эту ошибку? »

Проверять возвращаемый код ошибки, системную переменную %ERRORLEVEL%
Код:

If "%ERRORLEVEL%"=="0" Echo Success

amel27 06-04-2009 05:17 1085310

Цитата:

Цитата Butunin Klim
Как в этом крипте отлавливать ошибки »

общий порядок отладки для всех батников:

1. заменяем по тексту "@Echo Off"на "@Echo On"
2. запускаем батник с полным логированием в файл: "script.cmd 1>script.log 2>&1"
3. анализируем или выкладываем лог "script.log"

З.Ы. хорошо-бы это как-то в шапку или что-то типа "правил", в надцатый раз одно и то же

AlexVong 09-12-2010 20:42 1562119

Подскажите пожалуйста с помощью батника делаю резервное копирование базы (.mdb)

Код:

@echo off
COLOR 9F
set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%
"C:\Program Files\7-Zip\7z.exe" a d:\WORK\baza_dbf_%now%.zip d:\Prog\baza_dbf.mdb
pause

При работе батника выводится сообщение
Цитата:

7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03
Scanning


.zip: WARNING: Не удается найти указанный файл.



Creating archive d:\WORK\baza_dbf_2010.12.09_19.25.07

Compressing main_dbf.mdb 3%
Архивация происходит, но почему выводится сообщение ?
Цитата:

.zip: WARNING: Не удается найти указанный файл.

Iska 09-12-2010 23:27 1562226

Код:

"C:\Program Files\7-Zip\7z.exe" a "d:\WORK\baza_dbf_%now%.zip" "d:\Prog\baza_dbf.mdb"
Цитата:

Код:


Creating archive d:\WORK\baza_dbf_2010.12.09_23.23.46 .zip

Compressing  baza_dbf.mdb

Everything is Ok


См. нонешнюю же тему: Почему не работает команда для разархивирования?

Суть же Вашей проблемы в том, что у Вас в:
Код:

set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%
в конце строки находится пробел. Для «SET» это значимый символ.

cibin 23-07-2011 19:50 1718545

Цитата:

Цитата Tigr
Можно создавать не папку а WinRAR-архив с датой создания в имени. Это можно сделать с помощью консольной версии rar.exe (см. rar.txt). Если будут вопросы - могу выложить пример такой команды »


Можете мне выслать!
Нужен батник который будет копировать папку целиком с архивацией с одного диска на другой так что бы дата задавалась типа 23-07-2011.
Я как на просторах инета нашел такой бат, но запутался откуда куда резерв делает!


Время: 05:29.

Время: 05:29.
© OSzone.net 2001-