Найти в Дзене
Жизнь одного Админа

Создаем умный бэкап: 3 BAT-скрипта с 7-Zip для автоматического резервного копирования.

Резервное копирование — как страховка: все понимают ее важность, но мало кто действительно ее делает. Сегодня мы исправим эту ситуацию и создадим автоматизированную систему бэкапов на Windows с помощью BAT-файлов и бесплатного архиватора 7-Zip. Теперь давайте разберем три варианта решения, от простого к сложному. Идеально для: связанных проектов, когда все файлы должны быть вместе: @echo off chcp 1251 > nul setlocal enabledelayedexpansion REM -- НАСТРОЙКИ -- set "SOURCE_FOLDER1=C:\MyDocuments" set "SOURCE_FOLDER2=D:\Projects" set "BACKUP_FOLDER=D:\Backups" set "PATH_7Z=C:\Program Files\7-Zip\7z.exe" REM -- КОНЕЦ НАСТРОЕК -- Ключевая команда архивации: bat "%PATH_7Z%" a -t7z -mx=5 "%FULL_PATH%" "%SOURCE_FOLDER1%\*" "%SOURCE_FOLDER2%\*" >nul Что означают параметры 7-Zip: Преимущества: Идеально для: независимых проектов, когда нужна избирательность bat set "ARCHIVE_NAME1=Backup_Documents_%DATE_STR%.7z"
"%PATH_7Z%" a -t7z -mx=5 "%FULL_PATH1%" "%SOURCE_FOLDER1%\*" >nul
set "ARCHIVE_NAME2=
Оглавление

Резервное копирование — как страховка: все понимают ее важность, но мало кто действительно ее делает. Сегодня мы исправим эту ситуацию и создадим автоматизированную систему бэкапов на Windows с помощью BAT-файлов и бесплатного архиватора 7-Zip.

Почему именно такое решение?

  • Бесплатно — не требуются дорогие программы
  • Простота — минимальные знания для настройки
  • Гибкость — настраивается под любые задачи
  • Автоматизация — работает по расписанию без вашего участия

Предварительная подготовка

  1. Установите 7-Zip с официального сайта
  2. Запомните путь установки — обычно C:\Program Files\7-Zip\7z.exe

Теперь давайте разберем три варианта решения, от простого к сложному.

Вариант 1: Один архив для двух папок

Идеально для: связанных проектов, когда все файлы должны быть вместе:

@echo off

chcp 1251 > nul

setlocal enabledelayedexpansion

REM -- НАСТРОЙКИ --

set "SOURCE_FOLDER1=C:\MyDocuments"

set "SOURCE_FOLDER2=D:\Projects"

set "BACKUP_FOLDER=D:\Backups"

set "PATH_7Z=C:\Program Files\7-Zip\7z.exe"

REM -- КОНЕЦ НАСТРОЕК --

Разберем по строкам:

  • @echo off — скрывает вывод служебных команд, оставляя только важные сообщения
  • chcp 1251 > nul — переключает кодировку на русскую (чтобы кириллица отображалась правильно)
  • setlocal enabledelayedexpansion — включает расширенную обработку переменных

Ключевая команда архивации:

bat

"%PATH_7Z%" a -t7z -mx=5 "%FULL_PATH%" "%SOURCE_FOLDER1%\*" "%SOURCE_FOLDER2%\*" >nul

Что означают параметры 7-Zip:

  • a — "add" (добавить файлы в архив)
  • -t7z — использовать формат 7z
  • -mx=5 — уровень сжатия (0-9, где 5 — оптимальный)
  • >nul — скрывает технический вывод 7-Zip

Преимущества:

  • Один файл для всего
  • Простота восстановления
  • Экономия места за счет сжатия

Вариант 2: Отдельные архивы для каждой папки

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

bat

set "ARCHIVE_NAME1=Backup_Documents_%DATE_STR%.7z"
"%PATH_7Z%" a -t7z -mx=5 "%FULL_PATH1%" "%SOURCE_FOLDER1%\*" >nul

set "ARCHIVE_NAME2=Backup_Projects_%DATE_STR%.7z"
"%PATH_7Z%" a -t7z -mx=5 "%FULL_PATH2%" "%SOURCE_FOLDER2%\*" >nul

Особенности именования:

Имена создаются в формате Backup_Категория_2024-12-25_143025.7z, где:

  • Категория — тип данных (Documents, Projects, Photos)
  • Дата и время — точное время создания бэкапа

Преимущества:

  • Можно восстанавливать только нужное
  • Понимание содержимого по имени файла
  • Независимость операций

Вариант 3: Универсальный "конвейер" для множества папок

Идеально для: системных администраторов и продвинутых пользователей

bat

set "FOLDERS[0]=C:\MyDocuments"
set "FOLDERS[1]=D:\Projects"
set "FOLDERS[2]=E:\Photos"
set "FOLDERS[3]=F:\Database"

Как работает массив:

bat

set i=0
:loop
if defined FOLDERS[%i%] (
set "CURRENT_FOLDER=!FOLDERS[%i%]!"
set /a i+=1
goto :loop
)

Этот код создает подобие массива — перебирает все заданные папки пока они не закончатся.

Особенности:

  • Масштабируемость — легко добавить 10+ папок
  • Централизованное управление — все настройки в одном месте
  • Автопроверка — скрипт пропускает несуществующие папки

Настройка под свои нужды

Шаг 1: Выберите вариант

  • Вариант 1 — для связанных данных
  • Вариант 2 — для раздельного управления
  • Вариант 3 — для большого количества источников

Шаг 2: Отредактируйте пути

Замените примеры путей на свои:

bat

set "SOURCE_FOLDER1=C:\Users\ВашеИмя\Documents"
set "BACKUP_FOLDER=D:\MyBackups"

Шаг 3: Проверьте путь к 7-Zip

Если установили 7-Zip в другую папку, укажите правильный путь.

Автоматизация по расписанию

  1. Откройте Планировщик заданий Windows
  2. Создайте простое задание
  3. Укажите расписание (ежедневно в 18:00)
  4. В действии выберите "Запуск программы" и укажите ваш BAT-файл

Советы по использованию

Имена архивов

Формат Backup_2024-12-25_143025.7z позволяет:

  • Сортировать по дате
  • Быстро найти нужный бэкап
  • Автоматически избегать конфликтов имен

Уровни сжатия

  • -mx=0 — без сжатия (быстро)
  • -mx=5 — нормальное сжатие (рекомендуется)
  • -mx=9 — максимальное сжатие (медленно)

Обработка ошибок

Скрипты проверяют:

  • Наличие 7-Zip
  • Существование исходных папок
  • Успешность операции архивации

Частые проблемы и решения

Проблема: Кириллица отображается некорректно
Решение: Не удаляйте строку chcp 1251 > nul

Проблема: 7-Zip не находится
Решение: Проверьте путь в переменной PATH_7Z

Проблема: Архив создается пустым
Решение: Убедитесь, что в исходных папках есть файлы

Теперь у вас есть три готовых решения для автоматического резервного копирования. Начните с первого варианта — он самый простой и покрывает большинство потребностей.

Главное — настройте и запустите! Лучше простой бэкап, который работает, чем идеальный, который никогда не был реализован.

Какой вариант подошел вам? Делитесь опытом в комментариях!

Батники:

Вариант 1: Две отдельные папки в одном архиве

Вариант 2: Отдельные архивы для каждой папки

Вариант 3: Универсальный с массивом папок