Интернет. Настройки. Тарифы. Телефон. Услуги

Как настроить резервное копирование. Как настроить резервное копирование Резервное копирование 1с 7.7 по расписанию

Сегодня мы поговорим о такой важной теме, как автоматизация резервного копирования информационных баз 1С Предприятия 7.7, 8.1 и 1С8.2 на платформе Windows Server 2008 SP2.

В нашем распоряжении имеются 3 сервера с различными версиями платформы:

  • SRV1 - с установленной платформой 1С 7.7
  • SRV2 - с установленной платформой 1С 8.1
  • SRV3 - с установленной платформой 1С 8.2

На всех серверах одинаковая разметка дисковой подсистемы:

  • На разделе C:\ имеем установленную систему Windows Server
  • На разделе Е:\ содержатся базы платформ
  • И наконец, на разделе I:\ будут содержаться резервные копии баз.

Автоматизировать резервное копирование мы будем посредством пакетного или по-другому bat-файла, который представляет собой текстовый файл с расширением.bat, в который записываются, а затем исполняются последовательности команд при помощи программы-интерпретатора (cmd.exe).

  • На сервере SRV1 установлен файловый вариант платформы 1С 7.7, расположенный в "E:\Базы\База 1С7.7".
  • На сервере SRV2 установлен файловый вариант платформы 1С 8.1, расположенный в "E:\Базы\База 1С8.1".
  • На сервере SRV3 установлен серверный вариант платформы 1С 8.2, расположенный в "E:\Базы\База 1С8.2". Кластер базы будет иметь название FirmaBuh

Перед нами стоит задача: делать резервные копии указанных выше баз в назначенное время - 1:00 после плановой перезагрузки серверов в 00:00.

Для выполнения поставленной задачи, во-первых создадим на каждом разделе I наших серверов папки с названиями:

  • I:\Архив\База 1С7.7
  • I:\Архив\База 1С8.1
  • I:\Архив\База 1С8.2

После того, как мы создали основные каталоги для наших будущих архивов, приступим к написанию самих bat-ников. В данной статье bat-файлы располагаются в тех же каталогах что и архивы. На SRV1 в директории "I:\Архив\База 1С7.7" создадим файл с названием backup77.bat

Не забываем задать расширение.bat. Архивировать базу на SRV1 мы будем с помощью бесплатного архиватора 7-zip, скачать который вы можете на сайте разработчика . Следует отметить, что в приведенном ниже методе происходит архивирование всего каталога с базой.

Откроем созданный нами файл с помощью блокнота. Запишем туда следующее:

Chcp 1251
"C:\Program Files\7-Zip\7z.exe" a -t7z "I:\Архив\База 1С7.7\backup77-%date%.7z" -mx3 " E:\Базы\База 1С7.7" -ssw
@echo off
pause

Рассмотрим детально написанный выше код. Команда chcp 1251 задает кодировку cp1251, т.е. все русские названия директорий будут восприниматься интерпретатором правильно (хотя в командной строке при запуске батника вы будете видеть нечитаемые символы).

Далее мы указываем путь к.exe файлу программы 7-zip. Команда а означает добавить данный каталог, а именно I:\Архив\База 1С7.7 в архив "I:\Архив\База 1С7.7\backup77-%date%.7z", формат для которого мы задаем ключом -t7z . Т.е. мы получим архив с названием backup77-%date%.7z и форматом 7z, например: backup77-03.10.2011.7z

Параметр %date% , как вы уже догадались, задает дату на момент запуска архивирования. Ключ -mx3 задает уровень сжатия. В нашем примере он означает быстрое сжатие. На всякий случай здесь приведена команда -ssw . Она позволяет архивировать даже в том случае, если 1с 7.7 будет запущена. Дополнительную справку по всем ключам командной строки вы можете получить в русской документации к программе 7-zip.

Запустив bat-файл, вы сможете пронаблюдать весь процесс архивирования. Если вам это не надо, следует удалить команду pause , а @echo off переместить после команды chcp 1251 .

На SRV2 в директории "E:\Базы\База 1С8.1" создадим файл с названием backup81.bat. В отличие от прошлого сервера, на этом архивирование мы будем проводить с помощью выгрузки базы напрямую через 1с 8.1, а не архивируя каталог с базой целиком.

Chcp 1251
@echo off
setlocal
set kat=C:\Program Files
set ver=1cv81
set base= E:\Базы\База 1С8.1
"%kat%\%ver%\bin\1cv8.exe" CONFIG /F "%base%" /DisableStartupMessages /DumpIB "I:\Архив\База 1С8.1\1c81_%date%.dt" /N Администратор /P 123 /OUT "I:\Архив\База 1С8.1\backup.log" -NoTruncate
echo %date% >> backup.log
endlocal

Параметр setlocal позволяет нам изменить переменные в пакетном файле. Мы можем обозначить путь вместо длинной строки просто двумя или тремя символами. К примеру, мы задаем путь к 1cv8.exe, при этом не вписываем целиком путь, а вначале просто даем обозначение каталогу, где располагается 1с и папки в которой находится наш exe. Параметр CONFIG запускает 1с 8.1 в режиме "Конфигуратора". После ключа /F указываем каталог с файлами БД, /DisableStartupMessages подавляет стартовые сообщения программы о различных предупреждениях. Для поставленной задачи они нам не нужны. Команда /DumpIB выгружает заданную базу в каталог I:\Архив\База 1С8.1.

Выгруженный файл БД будет иметь вид 1c81_%date%.dt. К примеру: 1c81_03.10.2011.dt

Далее командами /N и /P задаются логин и пароль администратора базы соответственно. Затем происходит выгрузка лог файла параметром /OUT в каталог I:\Архив\База 1С8.1 c именем backup.log. В него будут записывать результаты выгрузки базы:

Выгрузка информационной базы успешно завершена
03.10.2011

Ключ -NoTruncate делает так, что лог файл не очищается каждый раз при запуске bat-ника. Так же в конце батника для удобства мы записываем дату выгрузки базы в лог-файл backup.log.

На SRV3 в директории "E:\Базы\База 1С8.2" создадим файл с названием backup82.bat . Конфиг, представленный ниже почти идентичен предыдущему, за исключением того, что запуск 1с происходит для серверного варианта установки. Соответственно, совпадающие параметры мы не будем описывать.

Chcp 1251
echo off
setlocal
set kat=C:\Program Files
set ver=1cv82
set serv=SRV3
set base=FirmaBuh
"%kat%\%ver%\bin\1cv8.exe" CONFIG /S %serv%\%base% /DisableStartupMessages /DumpIB "I:\Архив\База 1С8.2\1c82_%date%.dt" /N Администратор /P 123 /OUT "I:\Архив\База 1С8.2\ backup.log" -NoTruncate
echo %date% >> backup.log
endlocal

Стоит лишь отметить ключ /S после которого указывает адрес сервера 1С:Предприятия 8.2 в формате: Имя_Сервера\Название_Базы. В нашем случае это SRV3\FirmaBuh.

На этом мы окончательно разобрали выгрузку и архивирование баз платформ 1с 7.7, 8.1 и 8.2. Созданные нами bat-файлы можно добавить в любой планировщик. Мы использовали для этого стандартный планировщик заданий Windows.

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

Chcp 1251
@echo off
setlocal
set arhiv1="\\SRV1\Архив\ База 1С7.7\ backup77-%date%.7z"
set arhiv2="\\SRV2\Архив\ База 1С8.1\1c81_%date%*.dt"
set arhiv3="\\SRV3\Архив\ База 1С8.2\1c82_%date%*.dt"
set kat1="\\SRV1\Архив\ База 1С7.7\"
set kat2="\\SRV2\Архив\ База 1С8.1\"
set kat3="\\SRV3\Архив\ База 1С8.2\"
set errlog="Лог-файл с ошибками архивирования баз.log"
set viewlog="C:\Users\Admin\Desktop\Ошибки архивирования баз.log"
if not exist %arhiv1% echo Дата: %date% Время: %time% Сервер SRV1 сообщает: в папке %kat1% файлы архива не найдены >> %errlog%
if not exist %arhiv2% echo Дата: %date% Время: %time% Сервер SRV2 сообщает: в папке %kat2% файлы архива не найдены >> %errlog%
if not exist %arhiv3% echo Дата: %date% Время: %time% Сервер SRV3 сообщает: в папке %kat3% файлы архива не найдены >> %errlog%
echo. >> %errlog%
copy %errlog% %viewlog% /a

Bat-файл проверяет наличие файлов архивов на серверах и, если не находит, то записывает лог-файл с ошибками, который создается в том каталоге, в котором он был запущен. Строка copy %errlog% %viewlog% /a копирует лог-файл на рабочий стол Администратора. Таким образом, придя на работу, вы можете, заглянув в Ошибки архивирования баз.log увидеть список отсутствующих архивов. Сам bat-ник можно добавить опять же в планировщик.

Техника, как и люди, к сожалению, не всегда работает так, как хотелось бы. Очень часто электроника дает сбои, что может привести к потере важной информации. В бизнесе это особенно важно, т.к. повреждение данных о учёте может привести к финансовым издержкам. В частности, неполадки с информационной системой 1С 8.3 могут привести к плохому исходу.

Чтобы избежать неприятных ситуаций, необходимо настроить резервное копирование данных. Согласитесь, потратить 15 минут на настройку автосохранения базы 1С всегда проще, чем восстановить потерянные данные.

Ниже я рассмотрю пошаговую настройку автоматической архивации данных 1С 8.3. Инструкцию по разовому созданию копии можно увидеть по .

Для настройки автоматического резервного копирования я рекомендую софт Effector saver 3, а для того, чтобы не терять пароли, рекомендую установить программу для хранения паролей . Она позволяет гибко настроить автоматическую архивацию 1С. Программа также имеет регламентное задание на запуск тестирования и исправления, умеет выгонять пользователей, копировать произвольные данные, отправлять отчеты из 1С по расписанию.

Кроме того, она работает со всеми версиями 1С: 7.7, 8.1, 8.2, 8.3. Работает как с файловыми БД, так и с таблицами, расположенными на сервере: MS SQL и PostgreSQL. Ко всем этим плюсам еще одно большое преимущество — она бесплатна (есть расширенная, коммерческая версия).

Рассмотрим инструкцию по настройке резервного копирования и архивации базы данных.

Настройка резервного копирования базы 1С

Необходимо Скачать и установить дистрибутив Effector Saver

Самую свежую версию Вы можете скачать бесплатно по ссылке http://efsaver.ru/download.html .

Установка не отличается от установки любой другой программы, как и от .

Получите 267 видеоуроков по 1С бесплатно:

После открытия видим следующий интерфейс:

Первым делом необходимо запустить настройки утилиты: нажимаем «Сервис — Параметры Программы». Там необходимо нажать «Выгрузить агента» и «Добавить агента в автозапуск для всех пользователей».

Я буду настраивать для резервного копирования файловую БД. Проще всего заполнить все параметры, нажав кнопку «выбрать и заполнить». По нажатию на эту кнопку система покажет список для архивации, аналогичный списку ИБ 1С. Из этого списка мы выбираем интересующую нас базу данных и нажимаем «выбрать»:

Система подставит большинство параметров по умолчанию. И нам останется заполнить лишь некоторое количество полей.

Для начала в шапке окна укажите «Вид задачи», нас интересует «Архивирование средствами 1C:Предприятие 8».

После этого на вкладке « архивов» необходимо указать каталог, куда будут сохраняться резервные копии базы данных:

После установки каталога остался последний шаг — настройка расписания. Для этого необходимо на вкладке «Расписание» указать режим выполнения задания и время выполнения:

После всех действий, чтобы убедиться, что система настроена верно, необходимо нажать на кнопку в нижней панели «Проверить». Если все выполнено правильно, утилита отобразит сообщение «Основные параметры заполнены верно».

Все! Резервное копирование настроено.

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

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

Недавно столкнулся с необходимостью создания резервных копий баз (файловый вариант, архивы в виде dt-файла) и, конечно, сразу захотелось автоматизировать сей процесс, и так, чтобы было как можно проще, но работало. Было найдено достаточно большое количество решений. Наиболее простым показалось использование bat-файла: одна строчка и всё работает, НО при условии, что в базе никого нет. Наложение данного условия значительно усложнило задачу (можно, конечно, было перезапускать кластер, добавив ragent.exe -stop, ragent.exe -start в bat-файл, но это грубый способ, а хотелось корректного отключения пользователей). Задача архивирования с отключением пользователей решалась использованием vbs-файла, но при этом соответствующий скриптовый код уже не отличался простотой понимания и объемом содержания, что вызывало определенные трудности.

В общем, я пришел к следующему (по-моему простому) способу автоматического бэкапа:

1. Создание "выгонялки" средствами 1С.

2. Создание bat-файла, с параметрами запуска "выгонялки", а затем архивирования базы.

3. Добавление bat-файла в планировщик событий Windows.

1. В типовых конфигурациях в общем модуле ГлобальныйМодуль есть процедура отключения пользователей ЗавершитьРаботуПользователей() (в УТ, БП, ЗУП, УПП есть точно). Вот её нам и необходимо запустить перед архивацией.

Для этого в конфигураторе создаем обработку, для обработки создаем форму и в модуль формы вставляем следующий текст:

Процедура ПриОткрытии()
ТекущийРежим = ПолучитьБлокировкуУстановкиСоединений();
ТекущийРежим.КодРазрешения = "КодРазрешения";
ТекущийРежим.Начало = ТекущаяДата();
ТекущийРежим.Конец = ТекущаяДата() + 300;
ТекущийРежим.Установлена = Истина;
УстановитьБлокировкуУстановкиСоединений(ТекущийРежим);
ЗавершитьРаботуПользователей();
КонецПроцедуры

Здесь перед вызовом процедуры ЗавершитьРаботуПользователей() необходимо установить блокировку соединений с базой, иначе она просто не сработает. Число 300 в ТекущийРежим.Конец означает 300 секунд, получается блокировка базы будет установлена на 5 мин с момента запуска обработки - вполне достаточно, чтобы отключить всех пользователей от базы. Сохраним обработку (у меня Epf81.epf). Для 8.1 и 8.2 код идентичен, достаточно переконвертировать обработку для 8.1.

2. Запустим блокнот и вставим следующий текст:

chcp 1251
@echo off

"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\Base" /NПользователь /PПароль /DisableStartupMessages /Execute Epf81.epf

"C:\Program Files\1cv81\bin\1cv8.exe" CONFIG /F"D:\Base" /NПользователь /PПароль /UCКодРазрешения /DisableStartupMessages /DumpIB"D:\Backup\backup_%date%.dt"

Сохраним как backup81.dat

Первой строчкой мы запускаем обработку Epf81.epf от имени Пользователь (подставляете своего с администраторскими правами) с соответствующим паролем. Затем после того, как все пользователи будут отключены (отключаются и те, у которых стоит запрос на выход из программы, только чуть дольше) отработает вторая строчка, которая запускает систему 1С в режиме конфигуратора под тем же пользователем и создает dt-шник в папке D:\Backup, в имя файла будет подставлена текущая дата.

Путь к исполняемому фалу "C:\Program Files\1cv81\bin\1cv8.exe" заменяете, если у вас другой. Соответственно меняете путь к базе "D:\Base". Во второй строчке, для того, чтобы база нас пустила, в параметре /UC указывается код блокировки ТекущийРежим.КодРазрешения = "КодРазрешения", заданный в обработке Epf81.epf.

P.S. В описании, с целью простоты понимания, текст bat-файла урезан. В том, который во вложении, добавлено создание лога процесса архивирования, дата создания dt-шника указывается с точностью до секунды и пути к исполняемому файлу, базе и архиву вынесены в переменные. Лог создается в той же дирректории, где находится сам bat-файл.

Данный способ тестировался только на файловых базах типовых УТ, ЗУП, БП 8.1 и 8.2, как работает на клиент-серверных не знаю.

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

1 способ: Копированием файла конфигурации.

Это самый простой способ. Если конфигурация хранится на вашем компьютере или в локальной сети в отдельном каталоге (файловый вариант), то для того, чтобы сделать резервную копию нам достаточно скопировать файл 1Cv8.1CD из данного каталога или весь каталог целиком. Путь к каталогу с базой вы увидите внизу окна запуска 1С. В нашем случае путь выглядит так - «G:\1с база».

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

2 способ: с помощью выгрузки информационной базы.

Если информационная база хранится на сервере с использованием системы управления базами данных СУБД, то никакого каталога с файлом 1Cv8.1CD нет, и вы не сможем воспользоваться 1 способом. 1 способ можно использовать только для конфигураций, работающих в файловом режиме. Этот способ с помощью выгрузки информационных баз является универсальным и позволяет делать резервные копии любых конфигураций, работающих как в файловом, так и в клиент-серверном варианте.

Как это сделать?

Запустите базу 1С:Бухгалтерия 8.3 в режиме конфигуратора:

Из меню выберите ‘Администрирование’-‘Выгрузить информационную базу…’:

Выберите место, куда сохранять (например, ‘Рабочий стол’). Введите имя архива (принято указывать название базы и дату архивации):

Опытные администраторы знают, что резервные копии базы – залог их спокойного сна. Правильно настроенное и своевременное копирование информации позволит не бояться скачков напряжения, вирусов и атмосферных явлений, способных вывести из строя оборудование. Чем больше пользователей работают в базе 1С, тем больший эффект получит спасение их работы из резерва. Резервное копирование базы 1С выполняется самостоятельно различными способами, каждый из которых будет оптимален при определенных условиях и размере ИБ.

Создание копии ИБ администратором

Данная возможность не является самой надежной для постоянного использования. Часто к ней прибегают с целью выполнить резервное копирование в 1С перед обновлением и внесением существенных изменений. Самый быстрый вариант для файловой базы, не требующий даже использования конфигуратора и вспомогательного ПО – копирование файла -*.1CD. Если неизвестно, где расположена база, запустите 1С и при выборе баз обратите внимание на строчку с расположением файла базы:

Перейдя по этому пути, мы должны переместить копию нужного нам файла в место, в котором она будет храниться.


В этот момент в базе не должно происходить активных действий с объектами конфигурации. Чтобы восстановить ИБ из файла, просто замените файл *.1CD в папке БД. Другой вариант сделать резервное копирование в 1С потребует активизировать конфигуратор – выгрузка ИБ в файл с расширением dt. Для этого выполняем простые действия:


Для регулярного сохранения больше подходит автоматическое резервное копирование в 1С. Компания 1С в типовых конфигурациях подготовила настройку этого процесса для ИБ в файловом варианте. Вы найдете ее по «НСИ и администрирование», «Поддержка и обслуживание», «Резервное копирование и восстановление». Можно сохранить копии на жесткий диск ПК, внешнее устройство и облачный архив.


Также тут можно обнаружить пункт «Настройка резервного копирования». Он разрешает задать:

  • Периодичность создания копии файловой базы 1С;
  • Дату начала и дату окончания выгрузки ИБ;
  • Место для сохранения ИБ (используйте облачные сервисы);
  • Количество хранимых резервных копий.

Для клиент-серверной базы механизм не подходит. Автоматическое резервное копирование данных в 1С 8.3 необходимо выполнять, используя СУБД. Наибольшей популярностью в России пользуются Microsoft SQL и PostgreSQL. Для настройки автоматического сохранения данных, нужно разбираться в структуре и внутренних механизмах СУБД.

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

Для администраторов важно уметь не только настраивать автоматическую выгрузку копий БД, но и знать, как восстанавливать базу. Каждый надеется, что ему не пригодятся эти знания, но даже для спокойствия, администратор должен уметь восстанавливать базу. Но помните, что загрузка БД из сделанной копии – это последний способ исправить проблему и перед этим нужно попробовать остальные возможности. Процесс происходит в монопольном режиме и состоит из следующих пунктов:

  • Сделать еще одну копию базы;
  • Если сохраненная база в формате «*.1CD», то достаточно заменить файл 1CD на аналогичный из резерва, и запустить 1С;
  • Если файл в формате «*.dt», то необходимо зайти в конфигуратор. Затем выберите меню «Администрирование» >> «Загрузить информационную базу …». Укажите путь к конкретному файлу и подождите, пока 1С не сообщит об успехе;

  • Запустите механизм «Тестирование и исправление информационной базы».

Настройка резервного копирования в 1С 8.3 должна быть в арсенале каждого администратора, как и способ восстановления базы. Но грамотный администратор не будет использовать этот механизм на постоянной основе, так как это крайняя мера в спасении БД.