Автоматический бэкап файловой 1С: простой BAT-скрипт по расписанию
Почему ручные бэкапы не работают?
Малый бизнес часто теряет базы 1С из-за человеческого фактора: бухгалтер забывает нажимать «Выгрузить информационную базу», а при поломке жесткого диска или заражении вирусом-шифровальщиком выясняется, что последняя копия делалась полгода назад. Простой BAT-скрипт решает эту проблему раз и навсегда, сохраняя архив базы каждую ночь на внешний диск или в облако без участия человека.
Требования к надежному бэкапу:
- Архивация без участия пользователей в ночное время.
- Сжатие базы с помощью бесплатного архиватора 7-Zip для экономии диска.
- Автоматическое добавление даты и времени в имя архива.
- Автоматическое удаление старых копий (ротация), чтобы диск не переполнился.
Готовый BAT-скрипт для резервного копирования 1С
Шаг 1. Создаем командный файл backup_1c.bat
Создайте текстовый файл, вставьте следующий скрипт и сохраните его с расширением .bat (например, C:\Scripts\backup_1c.bat):
@echo off
chcp 65001 > nul
:: НАСТРОЙКИ ПУТЕЙ (Укажите свои папки!)
set SOURCE_DIR=D:\1C_Bases\Buhgalteriya
set BACKUP_DIR=E:\Backups_1C
set SEVENZIP="C:\Program Files\7-Zip\7z.exe"
:: ФОРМИРУЕМ ИМЯ АРХИВА С ТЕКУЩЕЙ ДАТОЙ (ГГГГ-ММ-ДД_ЧЧ-ММ)
set CUR_DATE=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%
set CUR_DATE=%CUR_DATE: =0%
set ARCHIVE_NAME=%BACKUP_DIR%\1C_Buh_%CUR_DATE%.7z
:: СОЗДАЕМ ПАПКУ ДЛЯ БЭКАПОВ, ЕСЛИ ЕЕ НЕТ
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
:: ПАКУЕМ ФАЙЛ БАЗЫ ДАННЫХ 1CV8.1CD В АРХИВ С МАКСИМАЛЬНЫМ СЖАТИЕМ
%SEVENZIP% a -t7z -mx=5 "%ARCHIVE_NAME%" "%SOURCE_DIR%\1Cv8.1CD"
:: АВТОМАТИЧЕСКОЕ УДАЛЕНИЕ БЭКАПОВ СТАРШЕ 30 ДНЕЙ
forfiles /p "%BACKUP_DIR%" /s /m *.7z /d -30 /c "cmd /c del @path"
echo Бэкап успешно создан: %ARCHIVE_NAME%Шаг 2. Настройка запуска по ночам через Планировщик Windows
- Нажмите Win + R, введите
taskschd.mscи нажмите Enter. - В правом меню нажмите «Создать простую задачу».
- Имя: «Ночной бэкап 1С» → Триггер: «Ежедневно» в
03:00. - Действие: «Запуск программы» → выберите ваш файл
C:\Scripts\backup_1c.bat. - Поставьте галочку «Выполнять с наивысшими правами» и нажмите «Готово».
Частые вопросы (FAQ)
Сделается ли бэкап, если кто-то оставил 1С открытой на ночь?
Архиватор 7-Zip умеет читать заблокированные файлы в режиме чтения. Однако для 100% гарантии консистентности рекомендуется в скрипт перед архивацией добавить команду принудительного закрытия зависших сессий: taskkill /F /IM 1cv8*.exe.
Почему лучше сжимать в .7z, а не просто копировать папку?
База 1С размером 10 ГБ благодаря текстовой структуре данных при сжатии в 7-Zip уменьшается до 1–1.5 ГБ, экономя до 90% места на резервном носителе.
Куда безопаснее всего сохранять бэкапы?
Никогда не храните бэкапы на том же жестком диске, где лежит рабочая база! Используйте второй физический жесткий диск, сетевое хранилище (NAS) или настройте выгрузку архивов в Яндекс Диск / S3 облако.
Как проверить, рабочий ли бэкап?
Минимум раз в месяц обязательно распаковывайте любой случайный архив в тестовую папку и пробуйте запустить базу через 1С в режиме Конфигуратора.