Исполняемый .bat файл для резервного копирования 1С

Простейшее решение для выгрузки .dt, доступное любому пользователю 1С.

Добрый день!

Для установки необходимо лишь:
 

1. Указать путь к .exe платформы и базе, пользователя и пароль для пользователя, папку для бэкапов, в следующих строках (изменяемое подчеркнуто):

"C:Program Files (x86)1cv88.3.10…in1cv8.exe" DESIGNER /F "C:UsersDocuments1CTrade2" /N "Админ" /P "админ" /DumpIB "D:at backups\%backup_date%.dt"

rem /DumpIB "D:at backups\%backup_date%.dt"
 
2. Настроить запуск файла с помощью стандартных регламентных заданий windows по расписанию.

(редактировать можно через notepad++)
значение "F"- для файловой "S" — для серв.

Так же дополнительно можно дописать блокировку пользователей — 

Блокирует базу
 "C:Program Files (x86)1cv88.3.10.in1cv8.exe" ENTERPRISE /F "У" /N "Администратор" /P "123" /CРазрешитьРаботуПользователей /UCКодРазрешения 

Разблокирует
 "C:Program Files (x86)1cv88.3.10.in1cv8.exe" ENTERPRISE /F"C:1Сinfobase" /N"123" /P"123" /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения

Первая команда добавляется перед исполнением выгрузки, а вторая добавляется в самый конец.

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

Спасибо!
 

26 Comments

  1. Reaper_1C

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

    https://its.1c.ru/db/v83doc#bookmark:adm:TI000000140

    https://its.1c.ru/db/v83doc#bookmark:cs:TI000000138

    https://its.1c.ru/db/v83doc#bookmark:adm:TI000000137

    Reply
  2. Painted

    Да уж, взрослеет Инфостарт. ))

    Раньше подобные «откровения» вызывали сотни лайков, а сейчас тишина.

    Reply
  3. SergPetr

    (2) На самом деле, не лайков ради.

    Своего рода эксперимент по публикации)

    Это не новаторство…все прекрасно это понимают.

    Reply
  4. SergPetr

    (1) не могу не согласится, и замечание вполне уместно.

    С другой стороны, я не позиционировал метод как единственный правильный механизм копирования.

    Reply
  5. plebedinskiy

    Поставлю лайк авансом, в надежде, что Вы напишите публикацию, про то как прятать пароль от злоумышленников в EXE, как компилировать bat в exe. Меня за это упрекнули, но времени нет написать эту статью. надеюсь, у Вас найдется.

    Reply
  6. Painted

    (6)Чего там писать-то. «bat2exe» в гугле дает кучу вариантов. На любой вкус.

    Reply
  7. vetalk

    Есть такая прога как Effector Saver. Устанавливается служба, задается расписание и прекрасно делает архивные копии.

    Причем, можно хранить предыдущие версии копий и пересылать копии по FTP.

    Reply
  8. user970589

    Автору респект за движуху.

    в Обновляторе это есть и даже о чудо, обновления по расписанию закачивает и ставит. 😉

    Reply
  9. SergPetr

    Ай ленивцы, не уловили суть.

    Reply
  10. user981116

    Добрый день автору.

    Буду очень признателен за помощь.

    Ищу, как батником или другим способом «выгнать» из 1С 8.3 пользователей для создания резервной копии, которая у меня делается ночью через выгрузку базы в файл *.dt. Кто-нибудь из пользователей не закроет на ночь программу и резервная копия не сделана. Конфигурация самописанная, платформа 8.3.11.3034.

    Попробовал ваш способ, но не получается.

    После выполнения первой строчки, которая, как я понял, должна заблокировать базу, у меня открывается 1С в режиме предприятия и пока я сам её не закрою, вторая строчка батника, которая делает выгрузку в файл *.dt, не запускается. Ночью закрыть будет некому 🙂

    А мне надо сначала «выгнать» из базы всех пользователей, если они есть, а потом выгрузить. Как это можно сделать?

    Вот мой код, взятый из этой статьи:

    1cv8.exe ENTERPRISE /S «БазаСКЛ» /N Админ /P 123 /CЗавершитьРаботуПользователей /UC12345

    1cv8.exe DESIGNER /S %serv1C%\%base% /N Админ /P 123 /DumpIB %dir_copy%dantist8_%data%.dt» /OUT «%dir_copy%ackup.log» -NoTruncate

    1cv8.exe ENTERPRISE /S %serv1C%\%base% /N Админ /P 123 /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UC12345

    Reply
  11. xlmel

    (11)taskkill /im 1cv8* /f /t

    Reply
  12. Healer

    (8) Не «есть», а «была»: разработчики его давно забросили и он не работает с 8.3.

    Reply
  13. Healer

    (13) А так то да, очень годная программа была. Пользовался ей много лет.

    Reply
  14. Healer

    (14) К тому же она не была бесплатной: версия «Про», обрубающая сессии, стоила примерно 1500 р.

    Reply
  15. Healer

    (9) Обновлятор тоже не бесплатный. Стоил он, правда, символически (год назад 500 р. за полную версию), а неполная версия, опять же, не рубит соединения и прочее.

    Reply
  16. Healer

    (16) Ну и ещё он очень жёстко привязывается к профилю оборудования.

    Reply
  17. Shevon

    (8)

    Effector Saver.

    Я считаю, за использование Effector Saver для бэкапа 1С-баз нужно публично пороть и отправлять в Сибирь снег убирать.

    Reply
  18. Healer

    (18) Почему? %)

    Reply
  19. Healer

    (19) Для платформы 8.2 очень даже замечательно. Всякие скрипты — ненадёжная тоска. А уж про рекомендованный 1С бэкап средствами БД и говорить нечего. Хотя всё в конве бизнес-модели: главное ответственность с себя снять, а чаяния и потребности юзера — «не, не слышали!».

    Reply
  20. Shevon

    (19) Больше касается клиент-серверных баз. Здесь все делать нужно средствами СУБД. А «рекомендованный» совсем не значит «обязателен к применению».

    Reply
  21. Healer

    (21) Я за свою многолетнюю практику админства и одинэсенья не раз видел, как категорически не восстанавливаются бэкапы, сделанные средствами MS-SQL (в том числе с «проверкой» после создания). С dt-шниками такой шляпы не бывало ни разу.

    Reply
  22. Healer

    (22) К тому же «bak» раз в пятнадцать больше аналогичного dt-шника.

    Reply
  23. Shevon

    (22)

    Я за свою многолетнюю практику админства и одинэсенья не раз видел, как категорически не восстанавливаются бэкапы, сделанные средствами MS-SQL

    Не у Вас, надеюсь? Значит, вероятно, что-то с моделями восстановления напутывалось.

    (22)

    С dt-шниками такой шляпы не бывало ни разу

    До поры, до времени (с ростом объема базы)

    Reply
  24. ziercool

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

    https://infostart.ru/public/604488/

    Reply
  25. Healer

    (24) У меня лично не было проблем с MS-SQL (возможно потому, что я изначально разумно отношусь к продукции этой фирмы, поскольку прежде работал администратором безопасности и вникал в суть продуктов), но бывало и в компании, в которой я работал. К счастью, за резервное копирование в те моменты я совсем никак не отвечал. Но наблюдать всё это было печально.

    Reply
  26. M_Volkov

    Иногда команда блокировки базы не может выполниться. Например, если предварительно в консоли 1С завершить все сеансы, то при исполнении команды блокировки выскакивает сообщение, что администратор вас выгнал, и ждет пока не нажмешь ОК в этом сообщении. Ключ /DisableStartupMessages это сообщение не подавляет, сеанс висит. Выгрузка базы не выполняется. В данном случае можно сразу выполнять команду выгрузки. И только если она завершилась неудачей (все же кто-то сидит в базе), исполнять команду блокировки базы. После чего повторить команду выгрузки.

    Такой алгоритм bat-файла возможен?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *