Резервное копирование: использование bat-файла

В статье:
- Опишу и приведу примеры создания бэкапов используя командную строку.
- "Подробно" распишу команду xCOPY и как применить WinRar в создании бэкапа.
- Создание папкиархива с именем: текущая дата.
Процитирую баш.орг.ру:
Год за годом все новые админы бэкапят серверные винты на логических разделах тех же самых винтов.
Резервное копирование с использованием xCOPY
Пример скрипта, копирующего файлы в каталог f:backupnew, при втором запуске переименовывает каталог new в old, создает заново каталог new и копирует файлы. Т.е. батника дает возможность хранить "двухдневные" бэкапы:
del "f:backupold" /s /q
rmdir "f:backupold" /s /q
rename "f:backupnew" "old"
mkdir "f:backupnew"
xcopy "D:123*.*" "f:backupnew*.*" /E /F /H /R /K /Y /D
Можно поступить иначе, например команда md %date:~0,2%.%date:~3,2%.%date:~6,4% создает папку, имя которой - текущая дата:
mkdir "f:backup%date:~0,2%.%date:~3,2%.%date:~6,4%"
xcopy "e:superBD*.*" "f:backup%date:~0,2%.%date:~3,2%.%date:~6,4%*.*" /E /F /H /R /K /Y /D
rem Должно работать и без mkdir, т.к. xcopy сам бы создал папку. Подстраховка =)

Поясню по используемым ключам XCOPY:
/E Копирует все подкаталоги, включая пустые.
/F Выводит имена исходных файлов и файлов-результатов в процессе копирования.
/H Включает в операцию копирования скрытые и системные файлы. По умолчанию системные файлы игнорируются.
/R Копирует файлы с атрибутом «только для чтения».
/K Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут.
/Y Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
/D[:мм-дд-гггг] Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
О дополнительных ключах xcopy можно почитать на
Резервное копирование с использованием WinRAR
del "f:backupold" /s /q
rmdir "f:backupold" /s /q
rename "f:backupnew" "old"
mkdir "f:backupnew"
"C:Program FilesWinRARRar.exe" a -m5 -r -t -dh -idp f:backupnewbackup.rar "D:superBD*.*" >> f:backupnewbackup.log
Если прикрутить сюда вышеописанную %date:~0,2%.%date:~3,2%.%date:~6,4%, то
"C:Program FilesWinRARRar.exe" a -m5 -r -t -dh -idp f:backup.rar "E:superBD*.*" >> f:%date:~0,2%.%date:~3,2%.%date:~6,4%.log
ren "f:backup.rar" "%date:~0,2%.%date:~3,2%.%date:~6,4%.rar"

log-файлы я стер
Подробнее о ключах запуска Rar.exe можно почитать в файле C:Program FilesWinRARRar.txt
После того как батник создан и проверен - можно создать задание на автоматический запуск, например ночью, когда юзвер спит
. Жми пуск - выполнить - вводи control schedtasks - жми ентер. Откроется планировщик заданий, там проще некуда.
Удачи!
З.Ы. Не бэкапьте на логических разделах тех же самых винтов.
Мой блог находят по следующим фразам
- disk boot failure insert system disk and press enter
- программы для теста озу
- многопользовательский чат на bat
- как отключить выбор операционной системы при загрузке компьютера
- создание батника архивирования
- delphi 7 edit passwordchar






35 Comments on “Резервное копирование: использование bat-файла”
а как сделать так чтобы…файл в папку которую копируем…не изменялся полностью на новый…а дописывался…? например если это тхт файл…то он если удалить информацию из файла который нада скопировать и он будет пустой…то и при копировании он изменяет файл который в резервной папке, т.е. он тоже становится пустым…
тогда скрипт существенно усложнится. С такими задачами мне не приходилось сталкиваться ( через cmd) . Думаю реализация возможна. А вариант с именем-датой архива Вам не подходит? Дозаписывать не придется, но и не потеряются данные.
Не работает ! Постоянно бегут строчки в командной строке и ничего не происходит кроме создания папки “backup22.07.2011″ после долгого ожидания просто закрыл !
спасибо работает отлично