Резервные копии базы 1С в облаке: сервис 1С и свои скрипты

· 9 мин

Содержание

Подключить облачный архив 1С можно двумя путями. Первый — штатный сервис «1С:Облачный архив»: в базе открываете Администрирование → Интернет-поддержка и сервисы, ставите на компьютер агент копирования и задаёте расписание. Второй — свой скрипт: платформа по ночам выгружает базу в .dt, а утилита вроде rclone отправляет файл в объектное хранилище.

Сервис проще и не требует администратора. Скрипт дешевле на больших объёмах и подходит для клиент-серверных баз на PostgreSQL или MS SQL. Ниже — настройка обоих вариантов, проверка копий и расчёт, сколько стоит хранение.

Какой способ облачного резервного копирования 1С выбрать

Решение зависит от трёх вещей: тип базы (файловая или клиент-серверная), размер и наличие человека, который будет следить за скриптами.

СпособКогда подходитПлюсыМинусы и риски
🟢 «1С:Облачный архив»Файловые базы, малый бизнес, нет своего админаНастройка из интерфейса 1С, восстановление через агентПлатная подписка, привязка к одному поставщику
🟡 Штатное резервное копирование + папка облачного дискаОдна-две файловые базы до нескольких ГББесплатно, 15 минут настройкиКопия зависит от того, запущен ли клиент диска
🔵 Скрипт 1cv8 DESIGNER /DumpIB + rclone в S3Несколько баз, нужен контроль храненияДёшево, гибкое расписание и сроки храненияНужен человек, который проверяет логи
🟣 Бэкап СУБД + выгрузка в S3Клиент-серверные базыКопия без выгона пользователей, быстроНужны знания PostgreSQL или MS SQL

Для клиент-серверной базы основной копией делайте бэкап СУБД, а .dt — дополнительной раз в неделю. Файл .dt восстановится на любой СУБД, бэкап SQL — только на такой же.

Подготовка базы 1С к архивации

Перед тем как включать любое копирование, приведите базу в порядок. Иначе в облако уедет мусор или повреждённые данные.

  1. Узнайте размер. Для файловой базы это размер файла 1Cv8.1CD в каталоге базы. Путь к каталогу виден в окне запуска 1С внизу при выборе базы.
  2. Проверьте целостность. В Конфигураторе: Администрирование → Тестирование и исправление. Сначала запустите режим только проверки, без исправления.
  3. Сожмите таблицы. Там же отметьте «Сжатие таблиц информационной базы». Файловая база после чистки часто худеет на 20–40%.
  4. Заведите служебного пользователя с правами администратора и паролем — под ним будет работать скрипт или агент. Не используйте личную учётную запись бухгалтера.
  5. Освободите место. На локальном диске нужен запас не меньше двух размеров базы: под временный файл выгрузки и под предыдущую копию.

Тестирование и исправление, а также выгрузка в .dt требуют монопольного доступа. Все пользователи будут отключены от базы. Запускайте это вечером или в выходные, предупредив сотрудников.

Перед первым запуском «Тестирования и исправления» с исправлением сделайте копию каталога базы вручную. Режим исправления может удалить битые записи без возможности отката.

Подключение сервиса «1С:Облачный архив» по шагам

Сервис работает через подсистему, встроенную в типовые конфигурации: Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, УНФ. На компьютер, где лежит база, ставится отдельная программа-агент для Windows. Она и выполняет копирование по расписанию.

Что нужно заранее

  • 🔑 логин и пароль Портала 1С:ИТС, к которому подключена интернет-поддержка в базе;
  • 💳 оформленная подписка на сервис (продаётся отдельно или в составе ряда тарифов ИТС — уточните у своего обслуживающего партнёра);
  • 🖥 доступ администратора Windows на компьютере или сервере, где физически лежит база.

Настройка

  1. Откройте базу под администратором.
  2. Перейдите в Администрирование → Интернет-поддержка и сервисы.
  3. Если интернет-поддержка не подключена — нажмите «Подключить» и введите логин и пароль портала.
  4. Найдите на этой странице группу «Облачный архив» (в части релизов она называется «Резервное копирование в облако») и откройте её настройки.
  5. Программа предложит скачать и установить агент копирования. Установите его на тот компьютер, где хранится каталог базы, а не на рабочее место бухгалтера, если база лежит на сервере.
  6. Задайте расписание. Для рабочей базы разумно — ежедневно ночью, например в 02:00.
  7. Укажите, сколько копий хранить. Ориентир: 7 ежедневных и 4 еженедельных.
  8. Запустите первое копирование вручную и дождитесь статуса успешного завершения.

Первая копия идёт долго: уходит вся база. Последующие копии сервис передаёт быстрее. Базу на 5 ГБ при канале 20 Мбит/с первый раз отправит примерно за 35–40 минут.

Компьютер с агентом в момент копирования должен быть включён и не уходить в сон. Проверьте план электропитания Windows: «Переход в спящий режим — никогда» для сервера.

Резервное копирование 1С в облако через внешние утилиты

Если сервис не подходит, собирается своя схема из трёх частей: выгрузка базы, отправка в хранилище, удаление старых копий.

Вариант попроще: штатное копирование в папку облачного диска

В файловой базе Бухгалтерии 3.0 и ЗУП 3.1 есть встроенное копирование: Администрирование → Обслуживание → Резервное копирование и восстановление. Задайте расписание и каталог для копий. Если указать папку, которую синхронизирует клиент Яндекс Диска или другого облачного диска, архивы сами уедут в облако.

Минус один: копия создаётся, только когда 1С запущена, и это должно совпасть с расписанием. Для базы, которую открывают каждый день, этого хватает.

Вариант для нескольких баз: bat-скрипт и rclone

Сначала один раз настройте rclone на хранилище: команда rclone config проведёт по шагам. Для Yandex Object Storage, Selectel, VK Cloud выбирайте тип S3. Потом создайте скрипт и повесьте его в Планировщик заданий Windows.

@echo off
set V8="C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe"
set BASE=D:\1C\Buh
set OUT=E:\Backup1C
set STAMP=%date:~6,4%-%date:~3,2%-%date:~0,2%

%V8% DESIGNER /F "%BASE%" /N "backup" /P "Пароль" /DisableStartupMessages ^
  /DumpIB "%OUT%\buh_%STAMP%.dt" /Out "%OUT%\dump_%STAMP%.log"

if errorlevel 1 exit /b 1

rclone copy "%OUT%" s3:my-1c-backup/buh --include "*.dt" --max-age 24h
forfiles /p "%OUT%" /m *.dt /d -3 /c "cmd /c del @path"

Что здесь происходит:

  • 📦 платформа выгружает базу в .dt с датой в имени, ошибки пишутся в лог;
  • ☁️ rclone отправляет только файлы за последние сутки;
  • 🧹 на локальном диске остаются копии за 3 дня, в облаке — по правилам хранения бакета.

Номер версии платформы в пути замените на свой: посмотреть его можно в каталоге C:\Program Files\1cv8\. Формат %date% зависит от региональных настроек Windows — проверьте имя файла после первого запуска.

Пароль в bat-файле читается открытым текстом. Ограничьте доступ к скрипту правами NTFS, а служебному пользователю 1С не давайте прав, кроме администрирования.

Клиент-серверная база

Для PostgreSQL вместо выгрузки .dt делайте дамп СУБД. Пользователей отключать не нужно:

pg_dump -U postgres -Fc -f "E:\Backup1C\buh_%STAMP%.backup" buh

Для MS SQL — задание агента SQL Server или план обслуживания с командой BACKUP DATABASE ... WITH COMPRESSION. Дальше файл отправляется в хранилище тем же rclone.

Уведомление о сбое

Скрипт без уведомлений рано или поздно сломается незаметно. Самый простой способ — в конце bat-файла проверять код завершения и при ошибке отправлять сообщение. Для Telegram хватит одного вызова curl к API бота с текстом «Бэкап базы Buh не выполнен» и именем лог-файла. Если почта удобнее, используйте PowerShell и команду Send-MailMessage через корпоративный почтовый сервер.

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

Проверка архива и пробное восстановление

Копия, которую ни разу не разворачивали, — это надежда, а не резервная копия. Раз в месяц проводите учебное восстановление.

  1. Скачайте из облака последнюю копию на отдельный компьютер или в отдельный каталог.
  2. Создайте пустую файловую базу через окно запуска: «Добавить → Создание новой информационной базы → без конфигурации».
  3. Загрузите копию: в Конфигураторе Администрирование → Загрузить информационную базу или из командной строки ключом /RestoreIB.
  4. Откройте базу в режиме Предприятия и сверьте с рабочей базой: последний документ, оборотно-сальдовую ведомость за прошлый месяц, количество сотрудников.
  5. Запишите в журнал дату проверки и время восстановления.

Для сервиса «1С:Облачный архив» восстановление запускается из агента: выбираете копию по дате и каталог для развёртывания. Разворачивайте в новый каталог, а не поверх рабочей базы.

Восстановленную копию не подключайте к обменам и к ЭДО. Иначе она начнёт забирать входящие документы и сообщения, предназначенные рабочей базе.

Ежедневно хватит беглой проверки: в логе выгрузки нет ошибок, а размер свежего файла не отличается от вчерашнего больше чем на 10–15%. Резкое падение размера — первый признак, что выгрузка оборвалась.

Как сократить трафик и стоимость хранения облачного архива

Файл .dt уже сжат, поэтому повторная упаковка в архиватор даёт выигрыш в единицы процентов. Экономить выгоднее на количестве копий и классе хранилища.

Схема хранения «дед — отец — сын»

Не нужно держать 90 ежедневных копий. Достаточно:

  • 📅 7 ежедневных;
  • 🗓 4 еженедельных;
  • 📆 12 ежемесячных.

Итого 23 копии вместо 365 за год. В бакетах S3 сроки задаются правилами жизненного цикла: например, удалять объекты в каталоге daily/ старше 7 дней.

Пример расчёта

Объектные хранилища в России берут ориентировочно 1,5–2,5 руб. за ГБ в месяц в стандартном классе и примерно вдвое меньше в «холодном».

  • Выгрузка базы — 3 ГБ.
  • Копий по схеме выше — 23, всего 69 ГБ.
  • Стоимость в стандартном классе при 2 руб./ГБ: 69 × 2 = 138 руб. в месяц.
  • Если ежемесячные копии (36 ГБ) перенести в холодный класс по 1 руб./ГБ: 33 × 2 + 36 × 1 = 102 руб. в месяц.

Входящий трафик в хранилище обычно бесплатный, платят за скачивание. Это ещё одна причина проводить учебное восстановление с последней копии, а не скачивать архив целиком.

Персональные данные

В базе ЗУП и Бухгалтерии лежат паспортные данные и СНИЛС сотрудников. Закон № 152-ФЗ требует, чтобы первичная запись и хранение персональных данных граждан России велись в базах данных на территории России. Выбирайте хранилище с российскими дата-центрами, а не зарубежное облако.

Частые ошибки при настройке облачного копирования

  • ❌ Копирование файла 1Cv8.1CD при работающих пользователях. Файл копируется в момент записи и потом не открывается. Для файловой базы используйте выгрузку .dt или штатное копирование, а не простое копирование файла.
  • ❌ Агент или скрипт на компьютере, который выключают на ночь. Расписание пропускается молча. Ставьте задачу на сервер или включите в Планировщике «Выполнять задачу при первой возможности после пропуска».
  • ❌ Одна копия в одном месте. Шифровальщик, попавший на сервер, найдёт и облачную папку, если она подключена как диск. Держите хотя бы одну копию в хранилище, куда сервер пишет, но откуда не может удалять, — в S3 это включаемая блокировка объектов.
  • ❌ Никто не читает логи. Скрипт полгода падает на смене пароля служебного пользователя. Настройте уведомление на почту или в мессенджер при ненулевом коде завершения.
  • ❌ Восстановление поверх рабочей базы «на пробу». Учебное развёртывание — только в отдельный каталог.

Частые вопросы

Можно ли подключить облачный архив к базе в «1С:Фреш»?
Нет смысла: базы в сервисе 1С:Фреш копирует сам сервис. Выгрузить свою копию можно из личного кабинета приложения.
Нужно ли шифровать копии перед отправкой в облако?
Для своего хранилища — да, если в базе есть персональные данные. В rclone для этого есть тип удалённого хранилища crypt: он шифрует файлы на вашей стороне, и провайдер видит только зашифрованные данные. Ключ храните отдельно от сервера, иначе восстановиться будет нечем.
Как часто делать копии, если в базе работают весь день?
Ночная копия плюс дополнительная в обед для баз, где за полдня вносится много документов. Для клиент-серверной базы в полной модели восстановления добавьте бэкап журнала транзакций каждый час.
Сколько места займёт выгрузка .dt?
Заметно меньше файла 1Cv8.1CD: выгрузка сжата, а пустые страницы файла базы в неё не попадают. Точный размер узнаете после первой выгрузки — от него и считайте место в хранилище.
Можно ли восстановить из облачного архива только один документ?
Напрямую — нет. Разверните копию в отдельный каталог и перенесите документ обработкой выгрузки-загрузки данных или введите вручную по данным копии.

Источники

  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»