При организации резервного копирования информационных баз 1С системные администраторы часто сталкиваются с жесткими лимитами бесплатных (и даже некоторых платных) облачных хранилищ. Например, ограничение на размер одного загружаемого файла в 1 Гб делает невозможным прямое копирование тяжелых баз данных. В этой статье мы подробно разберем, как обойти эти ограничения, автоматизировать процесс и обеспечить безопасность данных.
Наиболее надежный и простой способ обойти лимит в 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С, так как оно позволяет архиватору читать файл, даже если он открыт другим процессом.
Когда архивы подготовлены и разбиты на части, нам необходимо доставить их в хранилище. Рассмотрим использование протокола 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 на Яндекс Диске для бесплатных аккаунтов могут действовать ограничения на скорость или стабильность соединения. Если загрузка прерывается, рекомендуется использовать специализированные пароли приложений, которые генерируются в личном кабинете безопасности вашего аккаунта.
Если стандартные средства WebDAV работают нестабильно, выясним причину и найдем альтернативу. Часто проблема кроется в реализации протокола на стороне сервера. В таких случаях мы рекомендуем использовать Rclone — мощную утилиту для синхронизации данных с облаками.
Рассмотрим преимущества Rclone для задач бэкапа 1С:
Для настройки Rclone используется команда rclone config, где создается новое удаленное соединение (remote), после чего загрузка выполняется одной строкой:
rclone copy C:\backup my_cloud:backup_folder --progress
При настройке бэкапов в облако важно не только доставить файл, но и защитить его от повреждения. Посмотрим на ситуацию с точки зрения безопасности. Многие пользователи подключают облако как сетевой диск (через стандартные средства Windows или ПО типа Disk-O).
Мы настоятельно рекомендуем избегать подключения облака как диска! Если на сервер попадет вирус-шифровальщик, он в первую очередь зашифрует все доступные логические диски, включая подключенное облачное хранилище. В результате ваши бэкапы будут уничтожены синхронно с основной базой.
Правильный подход заключается в использовании клиентских приложений, работающих в режиме синхронизации папок, или скриптов (как в Методе 2), которые обращаются к облаку только в момент передачи данных. Также стоит активировать опцию «История версий» в настройках облака — это позволит откатиться к корректной копии файла, даже если последняя версия была повреждена или зашифрована.
Подводя итог, выберем оптимальную стратегию для организации бэкапов 1С:
7-Zip для разбиения архива на тома по 900 Мб и загружайте их через curl или стандартное приложение Яндекс Диска.Rclone) и никогда не храните пароли от облака в открытом виде в общедоступных скриптах.