Исполняемый .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 не будет опубликован. Обязательные поля помечены *