скрипт выгрузки в dt
Для выполнения всех мероприятий потребуется компьютер под управлением Windows 2003+ с установленным толстым клиентом из поставки технологической платформы. Выгрузку будем производить на сетевой диск, расположенный на NAS-устройстве, выполняющем роль хранилища резервных копий 1С, и не только.
Запуск конфигуратора 1С из командной строки
Основой решения может служить следующая командная строка 1С, выполняющая резервное копирование клиент-серверной базы:
Здесь, чтобы не зависеть от версии запускаем 1cestart.exe со следующими параметрами:
CONFIG – запуск конфигуратора 1С из командной строки
/S – указываем клиент-серверную ИБ buh, размещенную в кластере Server
/N»Администратор» – имя пользователя так, как он указан в списке пользователей.
/P»MyPassword» – пароль для указанного ранее пользователя. Если пароля нет, то для запуска 1С из командной строки этот параметр указывать не нужно.
/Out»C:\1c.log» – имя файла, который будет содержать служебную информацию о ходе выполнения скрипта, а также ошибки и диагностические сообщения.
/DumpIB”\\backup\1c\buh_%date%.dt” – и наконец, ключ, выгружающий базу на сетевой диск \\backup в папку 1с с именем buh_XX.XX.XXXX.dt, где XX.XX.XXXX – текущая дата для предотвращения перезаписи файлов резервных копий и их идентификации.
Для файловых ИБ вместо ключа /S следует указывать параметр /F, в остальном же синтаксис запуска 1С из командной строки будет идентичным, например:
Для более детального описания всех параметров запуска 1С, обращайтесь к актуальной документации разработчика. Наши специалисты также готовы разработать систему резервного копирования под Ваши потребности на коммерческой основе. Стоимость внедрения всего от 5000 руб.
Скрипт выгрузки в dt
Обновлятор умеет выгружать базу в формате dt в нужную вам папку с нужным вам именем в конце или после каждого из обновлений (если их несколько). Вот как это настраивается.
Заходим в свойства базы, закладка «Обновление», раздел «После», опция «После всех обновлений выгружать базу (dt) в папку с последним обновлением:
Настраиваем периодичность
Периодичность выгрузки настраивается вот здесь:
Выгружаем в папку с обновлением
Например, нам нужно всегда иметь под рукой обновленный дистрибутив чистой или демо версии бухгалтерии для установки клиентам. Как их получать проще всего?
Просто поставим на обновление в Обновляторе-1С типовую чистую бухгалтерскую базу и типовую демо бухгалтерскую базу.
Готово! Теперь после каждого обновления в папку шаблона этого обновления будет выгружаться база с именем 1Cv8new.dt для чистой версии и 1Cv8.dt для демо-версии. Эти имена берутся из манифест-файла 1cv8.mft, который лежит в папке каждого обновления.
Выгружаем в свою папку под своим именем
Обратите внимание, на другие возможные значения выпадающего списка опции для выгрузки dt:
Вы можете задать своё имя для выгрузки или даже полный путь. При этом если будет указано только имя файла, то выгрузка будет произведена в папку с обновлением. Если же вы укажете полный путь, то будет использован именно он.
Также вы можете использовать специальные переменные %conf_name% и %conf_version%. Первая означает название конфигурации, вторая версию.
Таким образом, для создания полной коллекции выгрузок в формате dt баз мы укажем, например «c:\configs\%conf_name%\%conf_version%.dt».
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Скрипт выгрузки в dt
Внимание! Эта статья больше не актуальна, так как последние версии обновлятора поддерживают sql-выгрузку штатно:
Внимание! Эта статья больше не актуальна, так как последние версии обновлятора поддерживают sql-выгрузку штатно (см. картинку выше).
В этой статье я расскажу как для серверной базы настроить выгрузку из sql-сервера перед началом обновления.
Эта выгрузка будет служить дополнительной и главной архивной копией базы, потому что dt-выгрузка, создаваемая обновлятором по умолчанию, таковой, конечно, считаться никак не может.
В нашем распоряжении есть серверная база torg располагающаяся на кластере 127.0.0.1:
Заходим в расширенные настройки этой базы (кнопка «Расширенные настройки базы. ) на закладку «Перед обновлением»:
Сюда мы напишем пакетный скрипт для выгрузки полной копии базы sql-сервером в папку «X:\SqlBackups».
Для этого мы задействуем консольную утилиту sqlcmd, которая идёт в комплекте с Microsoft SQL Server (я не специалист по администрированию серверных баз, но уверен, что аналогичные утилиты есть и для других СУБД).
Скрипт для выгрузки будет таким:
И запускаем обновление базы:
Обратите внимание на то, что наряду с dt-выгрузкой (в папке архивов) появился bak файл в указанной нами для этого папке «X:\SqlBackups»:
Эту выгрузку мы создали из скрипта и к ней не будут применяться опции для очистки старых копий.
Наконец, модифицируем скрипт, чтобы bak файл паковался в zip архив:
Вот так легко и просто вы можете настроить выгрузку архивной копии sql-сервером перед обновлением базы из обновлятора.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Выгрузка клиент-серверной информационной базы по расписанию bat-файлом
echo on
set mydate=%date:
,10%
Set NameServer=192.168.218.99
Set NameBase=pro
Set Login=Admin
Set Password=12345
Set KodRazr=123456
«C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe» ENTERPRISE /S%NameServer%\%NameBase% /N%Login% /P%Password% /DisableStartupMessages /C ЗавершитьРаботуПользователей
«C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe» CONFIG /S%NameServer%\%NameBase% /N%Login% /P%Password% /DisableStartupMessages /UC %KodRazr% /DumpIB C:\BackUp\%mydate%_%NameBase%_copy.dt /OUT C:\BackUp\%mydate%_%NameBase%_log.txt
«C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe» ENTERPRISE /S%NameServer%\%NameBase% /N%Login% /P%Password% /DisableStartupMessages /C РазрешитьРаботуПользователей /UC %KodRazr%
Но почему-то не завершается работа пользователей. Подскажите, пожалуйста, чего не хватает или где ошибка?
А если он в этот момент ожидает выполнения запроса в СУБД, так он вообще может быть бессмертным =)
(2) «Завершение работы пользователей ждала 5 минут. Подожду еще подольше.». лучше уж вот как-то вот так:
(9) > На этот случай dt-выгрузка позволит создать файловую базу
В которую данные из SQL тупо не влезут из за ограничения размеров страниц, ага.
Закопайте уже стюардессу.
(14) Начиная с версии платформы «1С:Предприятие» 8.3.8 появилась поддержка нового формата файловых баз данных, который позволяет настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных поддерживал единственный размер внутренней страницы файла – 4Кб. Новый формат по умолчанию использует размер страницы 8192 байта (8Кб), но позволяет его менять в диапазоне от 4Кб до 64Кб (размер страницы может принимать одно из значений: 4096, 8192, 16384, 32768, или 65536 байт).
Обратите внимание, что данная утилита позволяет увеличить или уменьшить размер страницы файла данных, но не снимает ограничение на размер самого внутреннего файла. Теоретически размер внутреннего файла может уменьшится за счет увеличения или уменьшения размера страниц и конвертации данных в новый формат, но результат не гарантирован и может вызвать обратный эффект.
В платформе 1С:Предприятие начиная с версии 8.3.8 увеличение размера страниц до 8192, 16384, 32768 и 65536 байт позволяет увеличить максимальный размер внутреннего файла до 6Гб. При использовании размера страниц 4096 байт максимальный размер внутреннего файла по прежнему не может превышать 4 Гбайта для любой версии платформы.
то есть с 8.3.8 уже 6 гигабайт. И дальше будет увеличиваться.
Для установки необходимо лишь:
«C:\Program Files (x86)\1cv8\8.3.10. \bin\1cv8.exe» DESIGNER /F «C:\Users\Documents\1C\Trade2» /N «Админ» /P «админ» /DumpIB «D:\bat backups\%backup_date%.dt»
rem /DumpIB «D:\bat backups\%backup_date%.dt»
2. Настроить запуск файла с помощью стандартных регламентных заданий windows по расписанию.
Блокирует базу
«C:\Program Files (x86)\1cv8\8.3.10.\bin\1cv8.exe» ENTERPRISE /F «\У» /N «Администратор» /P «123» /CРазрешитьРаботуПользователей /UCКодРазрешения
Разблокирует
«C:\Program Files (x86)\1cv8\8.3.10.\bin\1cv8.exe» ENTERPRISE /F»C:\1С\infobase» /N»123″ /P»123″ /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения
Первая команда добавляется перед исполнением выгрузки, а вторая добавляется в самый конец.
Касательно момента, что такое уже было итд.
Это моя первая публикация и мой самый первый опыт с 1С
Когда-то давно, когда я пытался это сделать, найти информацию было не просто (почему-то). я предлагаю простое готовое решение для простых пользователей. Возможно кому-то пригодится)
Скачать файлы
Специальные предложения
Я считаю, за использование Effector Saver для бэкапа 1С-баз нужно публично пороть и отправлять в Сибирь снег убирать.
Не у Вас, надеюсь? Значит, вероятно, что-то с моделями восстановления напутывалось.
До поры, до времени (с ростом объема базы)
Добрый день автору.
Буду очень признателен за помощь.
Ищу, как батником или другим способом «выгнать» из 1С 8.3 пользователей для создания резервной копии, которая у меня делается ночью через выгрузку базы в файл *.dt. Кто-нибудь из пользователей не закроет на ночь программу и резервная копия не сделана. Конфигурация самописанная, платформа 8.3.11.3034.
Попробовал ваш способ, но не получается.
После выполнения первой строчки, которая, как я понял, должна заблокировать базу, у меня открывается 1С в режиме предприятия и пока я сам её не закрою, вторая строчка батника, которая делает выгрузку в файл *.dt, не запускается. Ночью закрыть будет некому 🙂
А мне надо сначала «выгнать» из базы всех пользователей, если они есть, а потом выгрузить. Как это можно сделать?
Вот мой код, взятый из этой статьи:
1cv8.exe ENTERPRISE /S «БазаСКЛ» /N Админ /P 123 /CЗавершитьРаботуПользователей /UC12345
1cv8.exe ENTERPRISE /S %serv1C%\%base% /N Админ /P 123 /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UC12345