Проект-ИТ » Статьи » Резервное копирование 1С

Резервное копирование 1С

Каяться кайся, да опять за то же не принимайся (русская народная пословица).


Информация, материалы, наработки, сведения… Запомнить все это никак. На смену человеческой памяти пришли программно-аппаратные средства. По сообщению TAdviser в России на октябрь 2017г, 1С Предприятие занимает 31% рынка ERP систем. Ближайший конкурент Галактика ERP отстала на 23,5%. Популярность платформы по-прежнему продолжает расти.
Но какой бы классной не была программа, нужно учитывать потенциальные проблемы. И самая неприятная – потеря информации. Бухгалтерский учет, официальные документы организации, начисления клиентам, количество материалов на складе. В зависимости от направления организации, добавьте еще несколько пунктов. Восстановить все это будет невероятно сложно.

Доверяй, но сохраняй.


Платформа 1С:Предприятие достаточно стабильна, и используется в организациях от ИП до холдингов, а также в госкомпаниях. Но всегда есть вероятность потерять данные из-за:
  • Выхода из строя техники.
  • Попадания вируса шифровальщика-вымогателя.
  • Неожиданного отключения света.
  • Повреждения программы.
  • Сотрудника новичка или «вредителя».
  • Неправильно отработавшего дополнения.
Конечно, нужно действовать по всем фронтам, но backup дает дополнительную уверенность. Правильная настройка занимает не более 1 дня, как и восстановление. Если забыть про это и что-то случиться, восстановление растянется на месяцы. В рамках пробной консультации наши специалисты бесплатно помогут вам настроить 1С.

Файловая БД


1С напоминает о важности backup сообщением «Рекомендуется настроить резервное копирование информационной базы». Подсказки нет, значит все готово? Необязательно. А как вам такое, для осознания: все налажено как часы, но в нужный момент копия отсутствует?

С чего начать?

Файловый вариант используется для 2-3 сотрудников одновременно. Чтобы проверить, посмотрите, что будет написано снизу при запуске платформы. Подпись File=''……'' наш вариант, Srvr=''……'' – переходите к разделу «Серверная БД».
Второй вариант, выяснить какой режим работы настроен в вашей системе можно с помощью пути: 
Меню сиситемы -> Справка  ->   О программе …  -> I    (см. на картинке)
  1. Файловый                                
  2. Серверный                               
 

Как не надо делать и почему большинство поступают неправильно?


Трое из пяти системных администраторов идут по пути выгрузки в *.dt формат. Почему они выбирают этот метод? Из-за легкости. Золотое правило механики – «Выигрыш в силе – проигрыш в расстоянии», применим и здесь. За простоту приходится платить и довольно дорого. Недостатки подхода:
  • Существенные ограничения в работе. Сохранять базу выгрузкой можно только в монопольном доступе. Есть 2 варианта: заморозить работу или оставлять программиста на пару часов дольше. Оба вызывают негодование сотрудников.
  • Восстановление выполняется в 95%. Это высокий показатель, но стали бы вы летать на самолетах фирмы, 5% которые разбиваются? Метод дает частые сбои, и лучше от него отказаться.
  • Нужна дополнительная лицензия. Если в организации несколько систем и количество одновременно работающих ограничено, в один из дней банально не хватит лицензии.
  • Сохранение выполняет администратор вручную. Он ушел в отпуск, заболел, забыл, уволен – «все пропало».
Плюс, тоже есть, – развертывание как в файловом, так и в серверном режиме.
Выгрузку в формат *.dt, для дублирования, не рекомендуют сами разработчики.

Стандартный механизм.


Имеет многие схожие недостатки, но восстановление произойдет с вероятностью 99,99%. Этот механизм «спрятан» в разных местах, в зависимости от конкретно конфигурации. Классическое расположение по адресу: 

Администрирование -> Поддержка и обслуживание.


Запуск возможен после окончания работы приложения или по расписанию. В последнем можно изменять периодичность, время выполнения, количество копий до перезаписи и место хранения. Для выполнения приложение должно быть запущено.
Недостатки:
  • Занята 1 лицензия. Сотрудники, которым нужно срочно работать в другой БД, могут не подключиться.
  • Проблема 1 пк. Если компьютер сломается, будет необходимо не забыть повторить те же действия на другом.
  • Если в базе работают в момент создания backup, копия будет некорректной.
Плюсы:
  • Восстановление пройдет успешно.
  • Один из вариантов – хранение в облаке.


Дублирование файла БД.


Это самый топорный метод. Доступно как ручной, так и автоматический backup. Запускать можно на терминальном сервере или на другой машине (при открытии папки через протокол SMB). Для автоматизации используются планировщики ОС. В Windows это taskschd, в Linux – Cron. В заданное время операционка запускает скрипт, в котором прописано, откуда, что, куда и как сохранять.
Хватит дублирования файла с расширением *.CD. Чтобы восстановить, достаточно указать новое расположение. В скрипте также могут быть дописаны процедуры: архивация, сжатие, сравнение с предыдущей версией, удаление старых.
Плюсы:
  • Можно развернуть на сервере, рабочей станции или нескольких пк сразу. Повышаются шансы восстановить информацию.
  • В лицензии нет необходимости, а значит, нехватка из-за «бессмысленного» (по мнению бухгалтеров) сохранения не страшна.
  • Полноценная копия. Сразу работать без каких либо манипуляций – просто укажите путь.
Минусы:
  • Выполнение только, если все подключения будут завершены.
  • При неправильной конфигурации прав доступа SMB, вся база может быть украдена и скомпрометирована.

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


Когда дело доходит до серверной конфигурации, требования к пониманию своих действий возрастает в разы. Вложены деньги на покупку железа, серверной лицензии.
Выгрузка в *.dt также применима. Ее плюсы и минусы идентичны тем, что выше. Копирование файлов БД в лоб – ресурсоемкий процесс. Есть большая вероятность, что информация измениться и восстановление будет неудачным. Вероятностью успеха – 80%.
Рекомендуемый механизм только один – использовать средства СУБД. Реализовывать нужно будет на нескольких уровнях – планировщик, СУБД, архивирование.

Операционная система


Сервер 1С официально запускается под Windows и Linux. В планировщик заданий нужно добавить скрипт для создания копии. Хотя команды будут сильно отличаться, опишем их псевдо-кодом:
  • Подключиться к СУБД.
  • Сделать backup.
  • Отправить его на выделенный сервер.
  • Записать в файл информацию о выполнении или неудачи.
Код для Windows можно написать на языке PowerShell или CMD, для Linux – Bash, Python или другом поддерживаемом интерпретаторе.


СУБД


Платформа поддерживает 4 типа баз:
MS SQL. Используется в 70%. Изначально разработка платформы велась для нее. Она не требует настроек под конкретное «железо». Можно организовать создание полной копии раз в день, и разностной (последних изменений) каждый час. Microsoft SQL Express можно бесплатно скачать с ограничениями. Большую часть настроек выполняется в графическом интерфейсе.
PostgreSQL. Распространяется бесплатно. Без настроек под конкретное железо, производительность будет ниже на 20-40%. После них разница сократится до 2-5%. Создание запускается командами pg_dump, pg_basebackup (для всего кластера). Указав аргументы командной строки можно установить формат копии (текстовый или бинарный), степень компрессии, разбивки на несколько файлов (например, чтобы уместиться в 4ГБ для FAT32), количество потоков.
Описывать ограничения IBM и Oracle нет смысла. Их выбирают, когда системы уже куплены, а сотрудники обучены.


Архивирование


Цена накопителей значительно снизилась, но все же сжатие было и остается бесплатным. Последние копии можно объединить в сжатый архив и перенести в облако или файловый сервер. На его месте справиться даже маломощный пк с 5-10 HDD.


Заключение


Независимо от программного комплекса, ошибки будут неизбежно, и к этому нужно быть готовым.
Конечно, можно купить источник БП, ограничить физический доступ, сделать RAID 1 и что-то еще. Backup – это полезный инструмент. Не чудотворная пилюля, а инструмент, которым нужно уметь правильно пользоваться. Невозможно в 1 статье описать все приемы и возможные проблемы. Если вы столкнулись с конкретной ситуацией и не можете самостоятельно найти ответа, наши программисты 1С помогут вам разобраться в проблеме и найти решение.