назад к списку статей

Автоматическое резервное копирование файлов с архивированием BAT/CMD

backup batВсе мы не раз слышали о необходимости выполнения резервного копирования данных. Крах системы, чьи-то шаловливые ручки, или они же, только свои, да еще множество причин, по которым ваши данные могут испортиться или уничтожиться. Тем, кому приходилось неделями восстанавливать утраченные данные, это объяснять уже не приходится.

К тому же, по известному закону подлости, вероятность того, что нужные файлы испортятся, намного выше, если не делать бэкап. Так давайте же все сохраняться!

Автоматическое резервное сохранение должно удовлетворять определенным требованиям:

  • должно выполняться регулярно. Причем период копирования определяется частотой обновления данных. Т.е. если файлы изменяются каждый день, то и копировать их нужно каждый день;
  • копии должно храниться отдельно от источника данных. Это может быть внешний диск, а еще лучше хранить копии на удаленном сервере или в облаке в интернете. Тогда даже если комната с компьютером и внешним диском взлетит на воздух, данные преспокойно останутся храниться в облаке на мощных и защищенных серверах крупных ИТ-компаний;
  • если хранилище имеет небольшой размер, копии должны сжиматься для экономии места;
  • по той же причине нужно вести контроль количества последних хранящихся копий. Например, для очень важных данных у меня хранятся 7 ежедневных, 4 еженедельных и 12 ежемесячных копий. Остальные копии удаляются за ненадобностью;
  • после выполнения сохранения нужно проверить наличие резервной копии и ее целостность.

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

Бесплатная программа - File Backup Watcher. Очень простая и удобная утилита для резервного копирования.

Платная программа - Acronis True Image Home. Одна из самых мощных и гибких систем. Бэкапит все: от файлов до операционной системы.

Сегодня мы рассмотрим, как своими силами организовать автоматическое резервное копирование файлов на внешний диск или удаленный сервер.

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

Создадим файл Backup.bat со следующим содержимым:

                        
rem формирует текущую дату
for /f "tokens=1-4 delims=/-\. " %%a in ('date /t') do (
 set mjour=%%a
 set mmois=%%b
 set mannee=%%c
)
rem имя архива будет содержать текущую дату
set mydate=%mannee%%mmois%%mjour%
                        
rem каталог, который будет архивироваться
set indir=C:\InFolder
                        
rem выходной каталог, где будут храниться архивы копий
rem здесь локальный путь, его можно заменить
rem на сетевой \\NameServer\OutFolder, где NameServer -
rem имя машины, на которую будет сохраняться бэкап,
rem OutFolder – папка общего доступа на удаленной машине
set destdir=D:\OutFolder
                        
rem путь до архиватора WinRar
set arcpath=С:\Program Files\WinRar
                        
rem выполняем архивирование входного каталога
rem и сохраняем архив в выходной каталог 
"%_arcpath%\rar" a -ep1 "%destdir%\%mydate%.rar" "%indir%"
                        

, где indir - каталог, который мы будем сохранять, destdir - каталог, где будут размещаться созданные архивы, arcpath - путь до архиватора Rar.exe. После запуска этого файла, архив входного каталога C:\InFolder будет находиться в каталоге D:\OutFolder. В нашем случае резервное копирование файлов подразумевает наличие архиватора Rar.exe в каталоге С:\Program Files\WinRar.

Итоги

Мы написали самый простой скрипт по резервному копированию файлов. Конечно, при желании можно накрутить на него много полезного функционала, например:

  • контроль количества последних копий (старые копии удалять);
  • система записи событий в лог;
  • при невозможности скопировать на удаленный сервер, хранить копию на локальной машине.

Пример таких надстроек можно посмотреть здесь Автоматическое резервное сохранение базы данных IBM DB2.

Чтобы сделать автоматический запуск файла, например, раз в неделю, нужно создать назначенное задание в Планировщике Windows.

Вам также может быть интересно:

Каждый файл в отдельный архив 7z WinRAR

назад к списку статей

Поделитесь этой страницей со своими друзьями:

Нравится


I'mon Google+ .