Re: Батник для бэкапа
Гм.. (достает старую, еще прошлого века папочку)
Лучше всего вот так:
if exist %date%.dat goto :end //проверяем создана ли сегодня копия. Если уже есть, батник прерывается.
copy *.dat date\*.dat //копируем в папку отчет о запуске батника
del *.dat //удаляем предыдущую дату
copy *.bat %date%.dat //создаем сегодняшнюю дату копирования
If exist e:\rezerv\01*.dat mesec.bat //если первое число, то запускается батник, копирующий в другое место
//переходим в папку назначения
d:
cd d:\target
//проверяем куда будем копировать
if exist e:\rezerv\rez10.rez goto :rez1
if exist e:\rezerv\rez1.rez goto :rez2
if exist e:\rezerv\rez2.rez goto :rez3
if exist e:\rezerv\rez3.rez goto :rez4
if exist e:\rezerv\rez4.rez goto :rez5
if exist e:\rezerv\rez5.rez goto :rez6
if exist e:\rezerv\rez6.rez goto :rez7
if exist e:\rezerv\rez7.rez goto :rez8
if exist e:\rezerv\rez8.rez goto :rez9
if exist e:\rezerv\rez9.rez goto :rez10
//если файла с номером архива нет, его создаем и прерываем батник
copy e:\rezerv\12.bat e:\rezerv\rez1.rez
goto :end
//типовой модуль копирования
:rez1 //метка с номером копии
move e:\rezerv\rez10.rez e:\rezerv\rez1.rez //перемещаем номер копии на наш
xcopy *.* e:\rezerv\rezerv1\db\*.* /s /f /r /y //копируем все файлы с подкаталогами в резервное место
goto :end //закрываем батник
:rez2
move e:\rezerv\rez1.rez e:\rezerv\rez2.rez
xcopy *.* e:\rezerv\rezerv2\db\*.* /s /f /r /y
goto :end
:rez3
move e:\rezerv\rez2.rez e:\rezerv\rez3.rez
xcopy *.* e:\rezerv\rezerv3\db\*.* /s /f /r /y
goto :end
:rez4
move e:\rezerv\rez3.rez e:\rezerv\rez4.rez
xcopy *.* e:\rezerv\rezerv4\db\*.* /s /f /r /y
:rez5
move e:\rezerv\rez4.rez e:\rezerv\rez5.rez
xcopy *.* e:\rezerv\rezerv5\db\*.* /s /f /r /y
goto :end
:rez6
move e:\rezerv\rez5.rez e:\rezerv\rez6.rez
xcopy *.* e:\rezerv\rezerv6\db\*.* /s /f /r /y
goto :end
:rez7
move e:\rezerv\rez6.rez e:\rezerv\rez7.rez
xcopy *.* e:\rezerv\rezerv7\db\*.* /s /f /r /y
goto :end
:rez8
move e:\rezerv\rez7.rez e:\rezerv\rez8.rez
xcopy *.* e:\rezerv\rezerv8\db\*.* /s /f /r /y
goto :end
:rez9
move e:\rezerv\rez8.rez e:\rezerv\rez9.rez
xcopy *.* e:\rezerv\rezerv9\db\*.* /s /f /r /y
goto :end
:rez10
move e:\rezerv\rez9.rez e:\rezerv\rez10.rez
xcopy *.* e:\rezerv\rezerv10\db\*.* /s /f /r /y
goto :end
:end
//создает 10 отдельных копий. Хоть ежедневно :-) И раз в месяц - вызывает батник для создания копии в другом месте :-)
Но лучше всего скрипты осваивать.
П.с. текст дальше // - убрать обязательно! батник лежит в папке, куда копируется.
П.п.с %date% - вставляет текущую дату в ту строку, где используется.
Последний раз редактировалось Ckpyt; 03.06.2009 в 14:19..
|