Вручную писать скрипт было очень лень, поэтому была написана эта обработка.
Однажды возникла необходимость настроить резервное копирование порядка 20 баз 1С на PostgreSQL.
Вручную писать скрипт было очень лень, поэтому была написана эта обработка.
По нажатию кнопки "Получить список баз" обработка подключается к консоли кластера 1С и получает оттуда список баз. Проставляем галочки напротив нужных баз, указываем путь для бэкапов, путь к утилите pg_dump и количество дней хранения бэкапов. Затем по нажатию кнопки "Сгенерировать скрипт" обработка выдаст готовый скрипт, который необходимо будет сохранить в bat-файл и добавить в назначенные задания Windows с запуском раз в сутки.
Важное примечание — база PostgreSQL должна называться аналогично наименованию базы в кластере 1С.
Для корректной работы pg_dump возможно потребуется установить Visual C++ Redistributable Packages for Visual Studio 2013 а также сохранить пароль на подключение к PostgreSQL в утилите pg_admin.
Тестировалось на версии платформы 8.3.10.2580.
for /f «delims=.» %%i in (‘wmic.exe OS get LocalDateTime #k8SjZc9Dxk| find «.»‘) do set DateTime=%%i
«%PG_PATH%pg_dump» —host=bd —username=postgres —no-password —jobs=8 —format=directory —dbname=»%BASENAME%» —compress=0 —file=»%TEMPBACKUP%\%BASENAME%»
«%ARCHIVATOR%» a -w»%TEMPBACKUP%» -mx9 -mmt -ssw -p123456 «%BACKUPPATH%\%BASENAME%%DateTime%.7z» «%TEMPBACKUP%\%BASENAME%»
rd /q /s «%TEMPBACKUP%\%BASENAME%»
не работает
(2) багрепорт можете скинуть? что именно не работает?