helpf.pro
Регистрация
 +4 
Распечатать

Автоматическая архивация баз 1С с использованием Cobian Backup и VBS скриптов

Клиент попросил настроить автоматическую архивацию баз 1С раз в три дня и выгрузку архивов на Dropbox и на FTP Сервер. Кроме 1С нужно архивировать папку с рабочими документами. Хочет - так хочет, делаем:

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

Из платных могу посоветовать handy backup, версия expert умеет работать с 1С, но цена ~ 5 300 немного останавливает - поэтому мы используем бесплатный Cobian Backup - респект разработчику!

Установка Cobian Backup

Скачиваем с оф. сайта

и запускаем установщик:

Устанавливаем службу, используя учетку от 1С

Далее идет установка, ОК по завершении.

Настройка автоархивирования 1С

У нас в арсенале 3 базы 1С:

  • 1 - файловая
  • 2 - серверных

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

Для файловых баз код bat файла следующий (zup.bat):

Код Batch File (DOS, CMD, BAT)
 echo ************************************************************ 
echo Setup param: 
echo ************************************************************ 
set __1c_path=C:\Program Files (x86)\1cv82\common\1cestart.exe
set __base_name=zup_msk
set __base_path=E:\Accounting\Staff\zup_msk
set __upload_path=D:\Backup1C
set __username=Backup
set __password=123420
echo ******************
echo Create folder:
echo ******************
md "%__upload_path%\%__base_name%" 
echo ************************************************************ 
echo Create backup: 
echo ************************************************************ 
"%__1c_path%" config /Out"%__upload_path%\%__base_name%\%__base_name%.log" /F"%__base_path%" /N"%__username%" /P"%__password%" /DumpIB"%__upload_path%\%__base_name%\%__base_name%-%date%.dt" 

Для серверных (crm.bat):

Код Batch File (DOS, CMD, BAT)
 echo ************************************************************ 
echo Setup param: 
echo ************************************************************ 
set __1c_path=C:\Program Files (x86)\1cv82\common\1cestart.exe
set __base_name=crm
set __base_path=server1C\db_crm
set __upload_path=D:\Backup1C
set __username=Backup
set __password=123420
echo ******************
echo Create folder:
echo ******************
md "%__upload_path%\%__base_name%" 
echo ************************************************************ 
echo Create backup: 
echo ************************************************************ 
"%__1c_path%" config /Out"%__upload_path%\%__base_name%\%__base_name%.log" /S"%__base_path%" /N"%__username%" /P"%__password%" /DumpIB"%__upload_path%\%__base_name%\%__base_name%-%date%.dt" 

Отроем Cobian Backup, для создания заданий

Настроим архивацию файловой базы:

Добавляем создание, снимаем галки внизу, т.к. у нас не будет прямого копирования:

на закладке Файлы устанавливаем копирование каталога на FTP:

Расписание:

далее можно задать цикличность - приоритет, сжатие архивов, шифрование - но это я буду использовать при архивировании документов, а для 1С мы это не используем.

Доп. действия:

Выполнить и ждать закрытия bat файл и добавим паузу в 180 секунд (этого времени хватает чтобы выполнить выгрузку базы ЗУП)

На закладке Дополнительно, я  поставил только одну галку - Синхронизация

Итог настройки:

Запускаем задание для проверки работоспособности, и через ~ 3 минуты:

Архив успешно создан, FTP сервер я пока не настроил, поэтому он вызвал ошибку - Но главное мы получили дамп базы 1С для дальнейшего копирования на сервера ftp, при верных настройках ftp, все отлично копируется - проверено уже не раз )

Настраиваем архивацию серверной базы

Тут все тоже как и в файловой, только добавим перезапуск агента сервера 1С(для перезапуска процессов 1С и отключения пользователей)

и базы на SQL большие - поэтому после выполнения bat файла добавим паузу 3000 секунд

Результат тестового выполнения:

Архив сделался за 8 минут, т.е. паузы 600 секунд вполне хватит.

Выгрузка на Dropbox

Для выгрузки на DropBox использовал резервное копирование от Антивируса Касперского. Он быстро подключился к хранилищу, правда пришлось на нем оплатить место до 1 ТБ) 

В итоге: 

все работает как часики: архивы создаются 2 раза в неделю и заливаются на облачные сервера )

Разместил:   Версии: | 8.2 УП | 8.3 |  Дата:   Прочитано: 42191
 +4 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1C медленно работает по сети с базой на SQL Server 22
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1Cv8.1CD - Файл данных достиг максимального размера! 8
1С выдает предупреждение " Файл данных достиг максимального размера" . Подскажите из - за чего это и как можно решить ? Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10 гигабайтам или размер ка
Посмотреть все результаты поиска похожих
Комментарии
Denisok94
28.10.2018 19:57Комментарий: 3
Denisok94

ХМ, чёт не то, вот так, для читабельности:

1)какой поставить путь источника, если это SQL

2)какой путь должен быть к базе данныхОдин и тодже вопрос =)

В серверном варианте bat файла можно сделать так, и при этом не важно, где бд, на {{}}MS SQL, Oracle, IBM DB2 или PostgreSQL{{}}

set bd=Kassa\retail - Путь к бд, где ИмяСервера\ИмяБД

Например путь в 1с: "Srvr="Kassa";Ref="retail";", то строчка "Kassa\retail"

set A=admin - Имя пользователя с правами админа

set P=admin - Его пароль

Получим: start /wait /d "Путь к 1C" 1cv8.exe Команда /S %bd% /N %A% /P %P% Действие

Например, я сделал так:

start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe DESIGNER /S %bd% /N %A% /P %P% /UCКодРазрешения /DumpIB C:\bckp\Aptcopy_%date)-10%.dt" /DumpResult C:\bckp\Read_%date)-10%.txt"

Естественно, лучше это делать на самом сервере, где вертится база, предварительно выгнав пользователей и не давать им зайти, пока выгружается база

start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe ENTERPRISE /S %bd% /N %A% /P %P% /DisableStartupMessages /C ЗавершитьРаботуПользователей

start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe DESIGNER /S %bd% /N %A% /P %P% /UCКодРазрешения /DumpIB C:\bckp\Aptcopy_%date)-10%.dt" /DumpResult C:\bckp\Read_%date)-10%.txt"

start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe ENTERPRISE /S %bd% /N %A% /P %P% /C РазрешитьРаботуПользователей /UCКодРазрешения

Путь к 1С, тоже можно вынести в переменную)

"использовать планировщик Windows, но это дедовский способ", может и дедовский, но работает и не загружает ПК лишними прогами, особенно если это хлам, использующийся на кассах)Но, преимущество у проги есть только в том, что проще настроить отправку dt на другой ПК/Сервер/Облако

P.s. В статье ни одно VBS скрипта нету=)

Denisok94
28.10.2018 19:53Комментарий: 2
Denisok94

1)какой поставить путь источника, если это SQL2)какой путь должен быть к базе данныхОдин и тодже вопрос =)

В серверном варианте bat файла можно сделать так, и при этом не важно, где бд, на {}MS SQL, Oracle, IBM DB2 или PostgreSQL{}set bd=Kassa\retail - Путь к бд, где ИмяСервера\ИмяБДНапример путь в 1с: "Srvr="Kassa";Ref="retail";", то строчка "Kassa\retail"set A=admin - Имя пользователя с правами админаset P=admin - Его парольПолучим: start /wait /d "Путь к 1C" 1cv8.exe Команда /S %bd% /N %A% /P %P% ДействиеНапример, я сделал так:start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe DESIGNER /S %bd% /N %A% /P %P% /UCКодРазрешения /DumpIB C:\bckp\Aptcopy_%date)-10%.dt" /DumpResult C:\bckp\Read_%date)-10%.txt"

Естественно, лучше это делать на самом сервере, где вертится база, предварительно выгнав пользователей и не давать им зайти, пока выгружается база

start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe ENTERPRISE /S %bd% /N %A% /P %P% /DisableStartupMessages /C ЗавершитьРаботуПользователейstart /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe DESIGNER /S %bd% /N %A% /P %P% /UCКодРазрешения /DumpIB C:\bckp\Aptcopy_%date)-10%.dt" /DumpResult C:\bckp\Read_%date)-10%.txt"start /wait /d"C:\Program Files (x86)\1cv8\8.3.9.1850\bin" 1cv8.exe ENTERPRISE /S %bd% /N %A% /P %P% /C РазрешитьРаботуПользователей /UCКодРазрешения

Путь к 1С, тоже можно вынести в переменную)

"использовать планировщик Windows, но это дедовский способ", может и дедовский, но работает и не загружает ПК лишними прогами, особенно если это хлам, использующийся на кассах)Но, преимущество у проги есть только в том, что проще настроить отправку dt на другой ПК/Сервер/Облако

P.s. В статье ни одно VBS скрипта нету=)

bugzi
17.10.2016 05:54Комментарий: 1
bugzi

извиняюсь, но как сделать бекап на sql я так и не понял, всё вроде делаю как у Вас. два вопроса?

1)какой поставить путь источника, если это SQL 

2) какой путь должен быть к базе данных

всё это понятно если файловая база, а вот если sql не ясно

Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.