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

Системный администратор IT и автоматизация бизнеса
← На главную

При организации резервного копирования информационных баз 1С системные администраторы часто сталкиваются с жесткими лимитами бесплатных (и даже некоторых платных) облачных хранилищ. Например, ограничение на размер одного загружаемого файла в 1 Гб делает невозможным прямое копирование тяжелых баз данных. В этой статье мы подробно разберем, как обойти эти ограничения, автоматизировать процесс и обеспечить безопасность данных.

Метод 1: Автоматическое разбиение архива на части с помощью 7-Zip

Наиболее надежный и простой способ обойти лимит в 1 Гб — это разбиение итогового архива на тома заданного размера. Рассмотрим, как реализовать это с помощью командного файла Windows (BAT) и популярного архиватора 7-Zip. Мы проанализируем ситуацию, когда нам нужно упаковать файл базы данных 1cv8.1CD и подготовить его к отправке.

Разберем по шагам логику скрипта, который сначала создает общий архив, а затем дробит его на части по 900 Мб. Это позволит файлам гарантированно пройти через фильтры облачного сервиса.


:base
set "arcfile=C:\backup\1cv8_base.zip"
set "arcfilelasthead=C:\backup\part_1cv8_base"
set "srcfile=C:\1C_Bases\Accounting\1cv8.1CD"

rem Удаляем старый архив перед началом
del "%arcfile%" /Q

rem Создаем основной архив
"C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -y "%arcfile%" "%srcfile%"

rem Переходим к процедуре разбиения
call :divide 
exit /b

:divide
rem Удаляем старые части архива
del "%arcfilelasthead%*.*" /Q

rem Разбиваем готовый архив на части по 900 мегабайт
rem -mx0 означает отсутствие дополнительного сжатия (ускоряет процесс)
rem -v900m задает размер тома
"C:\Program Files\7-Zip\7z.exe" a -tzip -mx0 -y -v900m "%arcfilelasthead%.zip" "%arcfile%" 
exit /b

В данном примере мы используем параметр -v900m, что позволяет получить файлы размером чуть меньше 1 Гб. Использование ключа -ssw (shared storage write) критически важно для 1С, так как оно позволяет архиватору читать файл, даже если он открыт другим процессом.

Метод 2: Загрузка файлов в облако через WebDAV и curl

Когда архивы подготовлены и разбиты на части, нам необходимо доставить их в хранилище. Рассмотрим использование протокола WebDAV. Многие сервисы, такие как Яндекс Диск или Облако Mail.ru, поддерживают этот протокол, что позволяет отправлять файлы напрямую через командную строку без установки тяжеловесных приложений-клиентов.

Проанализируем пример использования утилиты curl для циклической загрузки всех созданных фрагментов архива:


chcp 1251
cd d:\backup
dir /b /s > listfile.txt
for %%f in (*.zip.*) do (
  curl -T %%f https://webdav.yandex.ru/backups/%%f --user login@yandex.ru:password
)

Важный нюанс: при использовании WebDAV на Яндекс Диске для бесплатных аккаунтов могут действовать ограничения на скорость или стабильность соединения. Если загрузка прерывается, рекомендуется использовать специализированные пароли приложений, которые генерируются в личном кабинете безопасности вашего аккаунта.

Метод 3: Профессиональное решение с использованием Rclone

Если стандартные средства WebDAV работают нестабильно, выясним причину и найдем альтернативу. Часто проблема кроется в реализации протокола на стороне сервера. В таких случаях мы рекомендуем использовать Rclone — мощную утилиту для синхронизации данных с облаками.

Рассмотрим преимущества Rclone для задач бэкапа 1С:

  1. Автоматический чанкинг (Chunking): Программа может самостоятельно разбивать файлы при загрузке и «склеивать» их обратно при скачивании, что делает лимит в 1 Гб прозрачным для пользователя.
  2. Шифрование (Crypt): Вы можете настроить шифрование на лету. Облачный провайдер не будет видеть содержимое ваших баз 1С, что крайне важно для соблюдения коммерческой тайны.
  3. Поддержка S3: Возможность работы с профессиональными хранилищами (Yandex Cloud Object Storage, AWS S3, Selectel), где нет ограничений на размер объекта и оплата происходит только за фактически занятое место.

Для настройки Rclone используется команда rclone config, где создается новое удаленное соединение (remote), после чего загрузка выполняется одной строкой:

rclone copy C:\backup my_cloud:backup_folder --progress

Метод 4: Безопасность и защита от шифровальщиков

При настройке бэкапов в облако важно не только доставить файл, но и защитить его от повреждения. Посмотрим на ситуацию с точки зрения безопасности. Многие пользователи подключают облако как сетевой диск (через стандартные средства Windows или ПО типа Disk-O).

Мы настоятельно рекомендуем избегать подключения облака как диска! Если на сервер попадет вирус-шифровальщик, он в первую очередь зашифрует все доступные логические диски, включая подключенное облачное хранилище. В результате ваши бэкапы будут уничтожены синхронно с основной базой.

Правильный подход заключается в использовании клиентских приложений, работающих в режиме синхронизации папок, или скриптов (как в Методе 2), которые обращаются к облаку только в момент передачи данных. Также стоит активировать опцию «История версий» в настройках облака — это позволит откатиться к корректной копии файла, даже если последняя версия была повреждена или зашифрована.

Выводы и рекомендации

Подводя итог, выберем оптимальную стратегию для организации бэкапов 1С:

  1. Если бюджет ограничен: используйте скрипт на базе 7-Zip для разбиения архива на тома по 900 Мб и загружайте их через curl или стандартное приложение Яндекс Диска.
  2. Для средних и крупных баз: переходите на протокол S3 (Object Storage). Стоимость хранения там крайне низкая, а надежность и отсутствие лимитов на размер файла избавляют от необходимости дробления архивов.
  3. Для автоматизации очистки: не забывайте добавлять в свои сценарии команды для удаления старых бэкапов в облаке, чтобы не выйти за пределы общего дискового квотирования.
  4. Для защиты данных: обязательно используйте шифрование (средствами архиватора или Rclone) и никогда не храните пароли от облака в открытом виде в общедоступных скриптах.
← На главную