Резервное копирование — это единственный надежный способ защитить бизнес от потери критически важных данных СУБД 1С и связанных документов. Однако при настройке систем бэкапа ИТ-специалисты часто сталкиваются с дилеммой: с одной стороны, хранить абсолютно все архивы бесконечно долго не позволяют дисковые пространства, с другой — пользователям периодически требуются документы или файлы многомесячной давности. В этой статье мы подробно разберем, как организовать надежный процесс бэкапа, какую схему ротации выбрать и какой софт использовать.
Для экономии дискового пространства и обеспечения максимальной глубины архива давайте рассмотрим классическую и наиболее эффективную методологию ротации — GFS (Дедушка-Отец-Сын). Она позволяет восстановить состояние системы практически на любую дату в прошлом без необходимости хранить ежедневные тяжелые копии за весь год.
Оптимальный регламент ротации резервных копий выглядит следующим образом:
Давайте проанализируем, как настроить резервное копирование базы данных СУБД (MS SQL или PostgreSQL) в течение рабочего дня. Обычного ночного бэкапа недостаточно: если сбой произойдет в 17:00, компания потеряет результаты целого рабочего дня сотен сотрудников. Поэтому мы рекомендуем использовать следующую связку:
Ранее классическим стандартом считалось правило «3-2-1»: хранить 3 копии данных на 2 разных типах носителей, причем 1 копия должна находиться на удаленной площадке. Но развитие вирусов-шифровальщиков (ransomware) заставило ИТ-сообщество пересмотреть этот подход. Современные шифровальщики умеют находить сетевые папки с бэкапами и целенаправленно уничтожать их перед атакой на рабочую базу.
Сегодня стандартом де-факто является схема «3-2-1-1-0»:
Рассмотрим популярные инструменты для автоматизации процесса создания резервных копий в среде Windows:
Cobian Backup. Это полностью бесплатная утилита, которая поддерживает инкрементальное копирование файлов, гибкое планирование задач, сжатие и шифрование. Отлично подходит для архивации папок обмена и документов пользователей.Самая опасная ситуация для системного администратора — когда бэкапы настроены, но в какой-то момент они перестают создаваться (закончилось место на диске, зависла служба СУБД, изменился пароль администратора), и никто об этом не знает до наступления реальной аварии. Разберем, как минимизировать этот риск.
Во-первых, внедрите принцип «Dead Man's Snitch» (Кнопка мертвеца). Классический мониторинг присылает уведомление, когда бэкап падает с ошибкой. Но если сервер бэкапов полностью завис или выключился, письмо с ошибкой просто не отправится. Принцип «Кнопки мертвеца» работает наоборот: внешняя система (например, Telegram-бот или служба Zabbix) ждет ежедневный сигнал об успешном выполнении задачи. Если в назначенное время сигнал не получен — система бьет тревогу.
Во-вторых, настройте скрипты автоматического контроля за свободным местом. Давайте посмотрим на пример простого PowerShell-скрипта, который анализирует возраст последнего созданного бэкапа в целевой директории и отправляет предупреждение, если актуальных копий нет:
$backupPath = "D:\Backups\1C"
$maxAgeDays = 1
$lastBackup = Get-ChildItem $backupPath | Sort-Object LastWriteTime -Descending | Select-Object -First 1
If ($lastBackup -eq $null) {
Write-Warning "Папка бэкапов пуста!"
} ElseIf ($lastBackup.LastWriteTime -lt (Get-Date).AddDays(-$maxAgeDays)) {
# Отправка уведомления, если бэкап старше 1 дня
Send-MailMessage -To "admin@company.ru" -Subject "Критическая ошибка бэкапа!" -Body "Актуальный бэкап не найден. Последний файл датирован: $($lastBackup.LastWriteTime)" -SmtpServer "mail.company.ru"
} Else {
Write-Host "Бэкап в актуальном состоянии."
}
В-третьих, не забывайте про регулярное автоматическое тестирование бэкапов. Наличие файла архива на диске не гарантирует, что база данных внутри него не повреждена. Разверните тестовый контур (песочницу) и настройте планировщик задач так, чтобы раз в неделю резервная копия автоматически разворачивалась в СУБД и проверялась утилитой DBCC CHECKDB (для MS SQL) или встроенной утилитой проверки целостности 1С.
Если ваша СУБД для 1С развернута на базе PostgreSQL, стандартного создания дампов через pg_dump для средних и крупных баз будет недостаточно, так как эта утилита сильно нагружает сервер и выполняется монопольно. В таком случае рекомендуется использовать утилиту pg_probackup или инструмент Barman. Они позволяют выполнять физическое резервное копирование на уровне страниц, поддерживая инкрементальные бэкапы. Это означает, что вы будете сохранять только измененные страницы данных, существенно сокращая время резервного копирования и снижая нагрузку на дисковую подсистему.
Некоторые администраторы по старой привычке используют оптические диски (DVD-R) для хранения долгосрочных архивов. Важно понимать, что DVD-R подвержены деградации записываемого органического слоя. Диск, записанный сегодня и помещенный в сейф, может перестать читаться уже через 2–3 года. Современная и надежная альтернатива — это использование холодного облачного хранения (Object Storage S3) с включенным режимом защиты от стирания (Object Lock). Стоимость хранения гигабайта данных в «холодном» или «ледяном» классах облаков минимальна, при этом провайдер гарантирует сохранность данных на уровне физических дата-центров.