Батник автоматической выгрузки информационной базы 1С своими руками за 5 минут

neformat / Янв.19.2016. / комментария 4

1C1
Все же не перестаю убеждаться в том, что лень – это двигатель прогресса. На днях, проверяя системы на работоспособность, заметил, что оказывается аж целых три месяца 1С никак не бекапиться. Непорядок,- подумал я, и встал вопрос о резервном копировании. Делать это руками каждый день мне, конечно же, не хотелось, и я стал думать в сторону как автоматизировать процесс выгрузки базы 1С.

Мою голову посещали различные идеи как все организовать. Не буду их перечислять, многие из них полный бред. Расскажу только о самой лучшей идее, а именно написать батник, который будет выгружать файл конфигурации из 1С(файл с расширением .dt ) и копировать его по сети на бекап сервер с актуальной датой.

Хочу отметить, что меня приятно удивило – это наличие нормальной справки в программе 1С, после 30 минутного изучения которой, вполне можно создать приличный батник.

Ну собственно перейдем к делу, к созданию батника.

CHCP 1251
Set f_date=%date%
Set f_yy=%f_date:~6,4%
Set f_mm=%f_date:~3,2%
Set f_dd=%f_date:~0,2%

Set f_name_dt=\\server\back_up\%f_yy%.%f_mm%.%f_dd%_name.dt
Set f_name_log=\\server\back_up\%f_yy%.%f_mm%.%f_dd%_ name.txt
“C:\Program Files (x86)\1cv8\8.3.4.365\bin\1cv8.exe” CONFIG /S server\base /N username /P password /DumpIB %f_name_dt% /OUT %f_name_log%

Немного расшифрую, что тут написано:

CHCP 1251 – кодировка для того, чтобы ваша ОС правильно понимала имя пользователя и пароль если они на русском.
Set f_date=%date%
Set f_yy=%f_date:~6,4%
Set f_mm=%f_date:~3,2%
Set f_dd=%f_date:~0,2%
данные строки позволяют автоматически генерировать актуальную дату для будущего имени файла с бекапом.

Set f_name_dt=\\server\back_up\%f_yy%.%f_mm%.%f_dd%_name.dt
Это строкой мы говорим куда будем сохранять наш бекап и как он будет называться

Set f_name_log=\\server\back_up\%f_yy%.%f_mm%.%f_dd%_ name.txt
Данная строка создает файл лога, из которого мы можем отследить и в последствии узнать о статусе процесса резервного копирования информационной базы 1С.

“C:\Program Files (x86)\1cv8\8.3.4.365\bin\1cv8.exe” CONFIG /S server\base /N username /P password /DumpIB %f_name_dt% /OUT %f_name_log%
“C:\Program Files (x86)\1cv8\8.3.4.365\bin\1cv8.exe” CONFIG /S server\base /N username /P password
В этой строке происходит само действие, запуск 1С в режиме конфигуратора, подключение его к вашему серверу и вашей базе с именем пользователем и паролем.

/DumpIB %f_name_dt% – данная функция выгружает файл конфигурации.
/OUT %f_name_log% – создает лог-файл.

Ну вот и все, батник почти готов к работе, остаётся только вставить все выше перечисленное в блокнот и сохранить с разрешением .bat, ну и, конечно, испытать его.  Если испытания прошли успешно, то добавить его на выполнение в планировщик заданий windows с нужной вам частотой выполнения.

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

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



комментария 4 Добавить комментарий

  • как не дать закрыться bat файлу до завершения выгрузки базы?

    • Сергей, это не возможно, так как батник и запускает саму выгрузку.

  • А как сделать, что бы файл лога не затирался, а дописывался?

    • Андрей, в существующем варианте каждый новый лог пишется в отдельный файл, что бы дописывать новую строку в существующий лог файл, не думал об этом. так в моем случаи лог файлик txt должен быть отправлен на почту. Попробую разобраться как реализовать это и обязательно опишу это процесс в новой статье.

Оставить комментарий

Войти с помощью: 


<------------->