1С:Парабэкапер - конфигурация для резервного копирования баз 1С

Администрирование - Архивирование (backup)

Конфигурация осуществляет резервное копирование баз данных 1С по расписанию в "dt" архив.
Запуск копирования осуществляется регламентным заданием, поэтому если использовать клиент-серверный вариант, то нет необходимости запускать отдельный сеанс 1С. Но файловый режим запуска так же поддерживается.
Парабэкапер может работать как с файловыми, так и клиент-серверными вариантами баз 1С.

Не найдя приемлимого ПО для резервирования и не найдя в себе силы вспоминать другие языки программирования, сделал небольшую конфигурацию в 1С. Может кому пригодится =)

Конфигурация осуществляет резервное копирование баз данных 1С по расписанию в "dt" архив.
Запуск копирования осуществляется регламентным заданием, поэтому если использовать клиент-серверный вариант, то нет необходимости запускать отдельный сеанс 1С. Но файловый режим запуска так же поддерживается.
Парабэкапер может работать как с файловыми, так и клиент-серверными вариантами баз 1С.

Особенности работы в разных режимах работы:

 - Клиент-серверный вариант: если в параметрах базы указано, то может закрывать все соединения с базой перед выгрузкой копии (что кстати не всегда гарантирует успешную выгрузку.. из-за разных зависших соединений с ИБ)

 - Файловый вариант: при неудаче выгрузки архива "dt" просто копирует файл базы данных "1cd" из папки с базой в указанную. Имя файла создается также согласно шаблону, только с расширением "1cd".

 

В любом режиме делает 5 попыток выгрузки базы. Все записывается в логе.

Есть возможность интерактивно создавать резервные копии каждой базы в отдельности и всех разом.

Автоматическое резрвное копирование производиться не будет для тех баз, где не поднят флаг "Активность".

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

Предложения по доработкам приветствуются, но ничего не обещаю))

В проекте:

1. Добавить оповещение по Email о результате копирования

2. Добавить возможность делать копии на FTP сервер

 

Изменения в версиях:

1.0.0.2 Убрал пробелы в строке запуска после ключей /S /F /DumpIB /Out (спасибо Tahallus)

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

Скачать файлы

Наименование Файл Версия Размер
Парабэкапер v.1.0.0.3 ("dt" выгрузка)
.dt 42,51Kb
12.07.13
103
.dt 42,51Kb 103 Скачать
Парабэкапер v.1.0.0.3 ("cf" файл конфигурации)
.cf 33,24Kb
12.07.13
32
.cf 33,24Kb 32 Скачать

См. также

Комментарии
1. Вова Вишин (Tahallus) 421 11.07.13 01:31 Сейчас в теме
Только после параметров /S /F /DumpIB /Out пробел не ставиться, иначе выгрузка не идет.
СтрокаЗапуска1С = " DESIGNER /"+?(КлиентСервер,"S","F")+""""+
      Местонахождение+""" /N"""+Результат.Имя+""" /P"""+Результат.Пароль+""" /DumpIB"""+
      ПапкаДляКопий+ИмяФайла+""" /Out"""+ВремФайл+"""";
2. Александр Вайд (shalex5) 51 11.07.13 09:27 Сейчас в теме
(1) Tahallus, Не знаю почему, но у меня и так и так работает) но все равно спасибо, изменил.
3. Александр (aet) 37 11.07.13 09:51 Сейчас в теме
1С не рекомендует для архивации использовать выгрузку в dt.
http://its.1c.ru/db/metod81?db=metod81#content:2922:1
4. Александр Вайд (shalex5) 51 11.07.13 09:57 Сейчас в теме
(3) aet, об этом можно дискутировать бесконечно) не будем и начинать. Каждый делает так как считает нужным.
5. Сергей (Sergoninfostarru) 2 17.07.13 11:19 Сейчас в теме
Что-то не заметил возможности отключать пользователей, которые "забыли" выйти на время архивации ? Это предусмотрено в конфигурации или все рассчитано на дисциплинированных бухгалтеров и операторов ?
6. Александр Вайд (shalex5) 51 17.07.13 12:26 Сейчас в теме
(5) Sergoninfostarru, в описании это есть)

- Клиент-серверный вариант: если в параметрах базы указано, то может закрывать все соединения с базой перед выгрузкой копии (что кстати не всегда гарантирует успешную выгрузку.. из-за разных зависших соединений с ИБ)

- Файловый вариант: при неудаче выгрузки архива "dt" просто копирует файл базы данных "1cd" из папки с базой в указанную. Имя файла создается также согласно шаблону, только с расширением "1cd".


на втором скриншоте есть галочка, но она работает только на клиент-серверными базами.
7. Сергей (Sergoninfostarru) 2 18.07.13 11:34 Сейчас в теме
(6) shalex5, я спрашивал о корректном завершении работы пользователей в 1С, а не об остановке сервера и обрубывания соединения с базой данных. Процедура "ЗавершитьРаботу" используется при отключении ?
8. Александр Вайд (shalex5) 51 18.07.13 12:20 Сейчас в теме
(7) Sergoninfostarru, нет. Делает только то, что описано.
Кстати, сервер не останавливает, разрывает соединения пользователей только от той базы, бэкап которой пытается сделать.
9. Сергей (Sergoninfostarru) 2 18.07.13 12:47 Сейчас в теме
(8) shalex5, В результате, у клиентов будет открыта 1С на локльной машине и сообщение об утрате связи с сервером !!!
10. Александр Вайд (shalex5) 51 19.07.13 02:13 Сейчас в теме
(9) Sergoninfostarru, именно так. Тут уже каждый сам решает что важнее - сделать бэкап или сохранить забытые на ночь подключения пользователей.
11. Дмитрий Иванов (Dethmond) 23.07.13 17:11 Сейчас в теме
Не создают бэкапы базы, а если вручную запускать создание бэкапа, то вываливается ошибка
Недопустимая строка с указанием класса

Конфа развернута в к-с варианте. Все базы так же в к-с.
12. Александр Вайд (shalex5) 51 23.07.13 17:19 Сейчас в теме
(11) Dethmond, это глюк с регистрацией comcntr.dll

нагуглил
Такая ошибка обычно появляется после установки новой платформы.
Надо заново зарегистрировать dll comcntr.dll утилитой regsvr32
Меню "Пуск->выполнить"
regsvr32 "c:\Program Files\1cv82\8.х.хх.ххх\bin\comcntr.dll"
13. Вова Вишин (Tahallus) 421 31.07.13 10:32 Сейчас в теме
Еще ошибка есть! (у меня по крайней мере проявляется)
ПутьДо1С = КаталогПрограммы()+"1cv8.exe";

Вот если база будет серверная и сервер при этом установлен в папке
отличной от той где установлена платформа то программы 1cv8.exe там не будет.
Пример:
Сервер 64-х разрядный стоит в папке "C:\Program Files\1cv82"
Платформа стоит в папке "C:\Program Files (x86)\1cv82"
Вызов функции КаталогПрограммы() вернет "C:\Program Files\1cv82",
а для выгрузки необходим путь "C:\Program Files (x86)\1cv82"
14. Александр Вайд (shalex5) 51 31.07.13 10:53 Сейчас в теме
(13) Tahallus, спасибо, принято.
Я думаю тогда в каждой базе добавить ещё реквизит ПутьДо1С, который автоматом заполняется из функции КаталогПрограммы(), но если нужно может быть интерактивно исправлен пользователем. Как вам такое решение?
15. Вова Вишин (Tahallus) 421 31.07.13 11:07 Сейчас в теме
(14) Я думаю проще сделать 2 константы указывающие на пути до сервера и платформы
причем без версии чтобы постоянно их не менять,
и уже в коде проверять существует ли такой файл и если нет то менять пути.
16. Игорь Зуйков (quares) 20 27.08.14 12:37 Сейчас в теме
Оставьте свое сообщение