Надоело делать резервную копию 1с вручную? Сейчас расскажем, как можно делать резервную копию автоматически – по расписанию.
Вариант для серверной базы данных.
1. Создаем файл с расширением bat приблизительно следующего содержания:
1 2 3 4 5 6 7 8 9 10 | set kat=C:\Program Files (x86)\1cv8\8.3.9.2170 set serv=192.168.0.1 set base=Base set user=Администратор set pass=Пароль set passblok=КодРазрешения set pathexport="f:\Backup\1c82_%date%.dt" "%kat%\bin\1cv8.exe" ENTERPRISE /S %serv%\%base% /N %user% /P %pass% /DisableStartupMessages /C ЗавершитьРаботуПользователей "%kat%\bin\1cv8.exe" CONFIG /S %serv%\%base% /DisableStartupMessages /DumpIB %pathexport% /N %user% /P %pass% -NoTruncate /UC %passblok% "%kat%\bin\1cv8.exe" ENTERPRISE /S %serv%\%base% /N %user% /P %pass% /DisableStartupMessages /C РазрешитьРаботуПользователей /UC %passblok% |
Расшифровка кода операторов командной строки:
set kat=C:\Program Files (x86)\1cv8\8.3.9.2170 – устанавливаем путь к исполняемым файлам 1с
set serv=192.168.0.1 – указываем ip или имя сервера 1с
set base=Base – указываем имя базы данных на сервере
set user=Администратор – логин Администратора 1с
set pass=Пароль – Пароль Администратора
set passblok=КодРазрешения – пароль для снятия блокировки работы пользователей в 1с. По умолчанию равен = КодРазрешения
Этот пароль можно посмотреть(и/или) поменять в консоле Администрирования баз данных 1с
set pathexport=“f:\Backup\1c82_%date%.dt” – указываем путь куда будет выгружаться резервная копия (имя файла будет иметь вид 1с82_01.01.2001.dt на текущую дату)
“%kat%\bin\1cv8.exe” ENTERPRISE /S %serv%\%base% /N %user% /P %pass% /DisableStartupMessages /C ЗавершитьРаботуПользователей
-завершение работы пользователей (через 1 минуту) и установка блокировки на вход новых пользователей
“%kat%\bin\1cv8.exe” CONFIG /S %serv%\%base% /DisableStartupMessages /DumpIB %pathexport% /N %user% /P %pass% -NoTruncate /UC %passblok%
-непосредственно выгрузка резервной копии
“%kat%\bin\1cv8.exe” ENTERPRISE /S %serv%\%base% /N %user% /P %pass% /DisableStartupMessages /C РазрешитьРаботуПользователей /UC %passblok%
-снятие блокировки на вход пользователей
2. Запуск этого bat файла по расписанию через планировщик заданий Windows
Планировщик заданий находится: Панель управления Windows- Администрирование-Планировщик заданий
- Создаем новую задачу, указываем имя
- Переходим на вкладку триггеры – создаем новый триггер с расписанием
- Переходим на вкладку действия и создаем новое действие “Запуск программы”, указав путь к bat файлу. Жмем ОК – все выгрузка БД 1с по расписанию настроена
P.S. Если выгрузка занимает длительное время целесообразно создать несколько задач отличных по времени к примеру
- Заблокировать базу в 02:50
- Выполнить выгрузку базы 1с в 03:00
- Разблокировать базу в 05:00
Блокировка не работает =(
Что конкретно не работает? Не завершается работа пользователей или новые могут входить? База какая серверная или файловая?
Не работает снятие блокировки на вход пользователей в 1с.
Для серверной базы необходимо запустить :
1cv8.exe ENTERPRISE /S Сервер\ИмяБазы /N ИмяПользователя /P Пароль /DisableStartupMessages /C РазрешитьРаботуПользователей /UC КОДРАЗРЕШЕНИЯ
Для Файловой базы:
1cv8.exe ENTERPRISE /F”ПутьКБАЗЕ” /N ИмяПользователя /P Пароль /CРазрешитьРаботуПользователей /UC КОДРАЗРЕШЕНИЯ
Убедитесь в корректности КОДАРАЗРЕШЕНИЯ . Его можно посмотреть и установить в файле 1Cv8.cdn для файловой базы:

Или в консоле администрирования для серверной БД (в параметрах Информационной базы)

А свой код разрешения в серверной версии можно ставить при выгрузке через bat файл, после выполнения команды “/DisableStartupMessages /C ЗавершитьРаботуПользователей “? Или это специально специально сделано что бы было стандартно.