|
BATник для 1с | ☑ | ||
---|---|---|---|---|
0
Labrador
03.04.13
✎
08:10
|
В батнике блокируется база, затем выгружается, затем архивируется. По отдельности все работает замечательно. Проблема в том что бэкап создается одновременно с блокировкой. Пока задача решена с помощью Sleep'а(очень надеюсь что временно).
Вопрос, как заставить ждать командную строку выполнения Бэкапа? Заранее благодарен =) |
|||
1
ZanderZ
03.04.13
✎
08:10
|
пакажи код
|
|||
2
Крутил_
Вертел_1С 03.04.13
✎
08:12
|
Циклом ?
|
|||
3
Крутил_
Вертел_1С 03.04.13
✎
08:13
|
Не знаю что за функция делает бэкап, но она навернео что то возвращает делать цикл While do
|
|||
4
Галахад
гуру
03.04.13
✎
08:14
|
Просто копируй CD файл и архивируй. Не надо выгружать.
|
|||
5
Labrador
03.04.13
✎
08:15
|
Тэкс, чур тапками не закидывать...
chcp 1251 MD C:\Backup2 MD c:\Backup1C "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\DemoAcc" /N"Абдулов (директор)" /WA- /AU- /DisableStartupMessages /C"ЗавершитьРаботуПользователей" Sleep 60 "C:\Program Files\1cv82\common\1cestart.exe" DESIGNER /F"C:\DemoAcc" /N"Абдулов (директор)" /DumpIB "C:\BackUp2\Buh1-%date:~-10%.dt" /UC"КодРазрешения" Sleep 180 "C:\Program Files\WinRAR\WinRAR.exe" A c:\Backup1C\Buh1-%DATE%.RAR "C:\BackUp2\Buh1-%date:~-10%.dt" del C:\BackUp2\Buh1-%date:~-10%.dt "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\DemoAcc" /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" Sleep 180 "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\DemoAcc2" /N"Абдулов (директор)" /WA- /AU- /DisableStartupMessages /C"ЗавершитьРаботуПользователей" Sleep 60 "C:\Program Files\1cv82\common\1cestart.exe" DESIGNER /F"C:\DemoAcc2" /N"Абдулов (директор)" /DumpIB "C:\BackUp2\Buh2-%date:~-10%.dt" /UC"КодРазрешения" Sleep 180 "C:\Program Files\WinRAR\WinRAR.exe" A c:\Backup1C\Buh2-%DATE%.RAR "C:\BackUp2\Buh2-%date:~-10%.dt" del C:\BackUp2\Buh2-%date:~-10%.dt "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\DemoAcc2" /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" Sleep 180 "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\DemoAcc3" /N"Абдулов (директор)" /WA- /AU- /DisableStartupMessages /C"ЗавершитьРаботуПользователей" Sleep 60 "C:\Program Files\1cv82\common\1cestart.exe" DESIGNER /F"C:\DemoAcc3" /N"Абдулов (директор)" /DumpIB "C:\BackUp2\ZUP-%date:~-10%.dt" /UC"КодРазрешения" Sleep 180 "C:\Program Files\WinRAR\WinRAR.exe" A c:\Backup1C\ZUP-%DATE%.RAR "C:\BackUp2\ZUP-%date:~-10%.dt" del C:\BackUp2\ZUP-%date:~-10%.dt "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\DemoAcc3" /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" exit |
|||
6
Labrador
03.04.13
✎
08:16
|
(4) Это указание руководства, хотят так сделать.
|
|||
7
makfromkz
03.04.13
✎
08:16
|
если не подводит память то строчка:
call имя_батника_сБэкапом в батнике будет ждать окончания бэкапа |
|||
8
Галахад
гуру
03.04.13
✎
08:17
|
(6) Ну, если им 1С не указ...
|
|||
9
Labrador
03.04.13
✎
08:18
|
нет, к сожалению даже start /b не ждет =( Когда база выгружается, процесс выполняется фоново, а командная строка дальше себе делается=)
|
|||
10
Крутил_
Вертел_1С 03.04.13
✎
08:19
|
Labrador
Скачай Effector saver 3(?) У нас стоит всё идеально делает, бэкапы по расписанию, в любое место и в любом количестве. |
|||
11
ZanderZ
03.04.13
✎
08:19
|
(5) стартер - это отдельная программа которая ищет нужную версию и запускает. соответственно она запустила и отработала.
Используй exe конкретной версии |
|||
12
Крутил_
Вертел_1С 03.04.13
✎
08:19
|
(10) + там русский язык и беспл. версия есть
|
|||
13
PiterPrg
03.04.13
✎
08:20
|
Я не понял вопрос. Нужно подождать пока отработает одна программа, а затем запустить другую?
если так, тогда start /wait [Программа.exe] |
|||
14
ZanderZ
03.04.13
✎
08:20
|
(13) не спасет если стартер запускать
|
|||
15
Feunoir
03.04.13
✎
08:21
|
(9) Запускай не 1cestart, а конкретный релиз:
"D:\Program Files (x86)\1cv82\8.2.18.61\bin\1cv8.exe" |
|||
16
Labrador
03.04.13
✎
08:23
|
(10) Спасибо, посмотрю! В следующий раз попробую уговорить на неё.
(11), (13), (15) И вам большое спасибо, сейчас попробую так =) |
|||
17
PiterPrg
03.04.13
✎
08:23
|
А вообще (10) - самое то. Сам юзаю очень доволен
|
|||
18
Cyberhawk
03.04.13
✎
08:27
|
Хм, бесплатная версия Effector saver не умеет выгонять пользователей. Тогда вопрос к тем, кто ею пользуется: вы запускаете ее в связке с ручным выгоном пользователей (т.е. в батнике) или платную версию используете?
|
|||
19
DasTPID
03.04.13
✎
08:57
|
У меня копия выгружается в dt ночью. Пользователи, случайно оставшиеся в системе, выходят сами:
Процедура АНеПораЛиОтдохнуть() Экспорт Если Час(ТекущаяДата()) = 2 Тогда ЗавершитьРаботуСистемы(ложь); КонецЕсли КонецПроцедуры Процедура ПриНачалеРаботыСистемы() .... ПодключитьОбработчикОжидания("АНеПораЛиОтдохнуть",600, Ложь); КонецПроцедуры В 2:30 можно штатными средствами ОС запустить выгрузку |
|||
20
kosts
03.04.13
✎
09:13
|
(0) Все не читал. Не нужно блокировать базу. Отрезаешь все сеансы. Выгружаешь базу. Архивировать (сжимать) не нужно, т.к. dt уже и так сжат.
|
|||
21
Крутил_
Вертел_1С 03.04.13
✎
09:26
|
(28) не выгоняю))) копирует файл из папки 1CD и норм
|
|||
22
Крутил_
Вертел_1С 03.04.13
✎
09:27
|
(28) +(21) просто бэкап делается ночью когда ни кто не работает точно и не должен
|
|||
23
kosts
03.04.13
✎
09:30
|
(20)+ Хотя для файлового несколько иначе может быть.
Для серверного вот такой вариант хорошо подходит: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=507764&msg=7102328 |
|||
24
Labrador
03.04.13
✎
09:40
|
(19) А куда это процедуру впихивать? Просто в 1с совсем недавно =) Идея мне нравится!
(20) Про сеансы тоже думал, даже рассматривался вариант с перегрузкой 1Ски. Решили не заморачиваться. Архивация - требование начальства... (21) ...выгрузка тоже =) (23) Спасибо, почитаю =) |
|||
25
Cyberhawk
03.04.13
✎
09:50
|
(24) впихивай туда, где уже лежит процедура "ПриНачалеРаботыСистемы"
|
|||
26
lucifer
03.04.13
✎
09:51
|
(0) тут выход по моему очевиден, отказаться от батников )
|
|||
27
Labrador
03.04.13
✎
10:03
|
(26) Отказаться к сожалению не могу. Решение вот такое получилось, все вроде довольны. Единственный минус - жесткая привязка. Чуть позже прикручу параметры.
chcp 1251 echo off MD C:\Backup2 MD c:\Backup1C cls echo Opening Accounting base 1 echo Disable users... start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe ENTERPRISE /F"C:\DemoAcc" /N"Абдулов (директор)" /WA- /AU- /DisableStartupMessages /C"ЗавершитьРаботуПользователей" echo Backup database... start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe DESIGNER /F"C:\DemoAcc" /N"Абдулов (директор)" /DumpIB "C:\BackUp2\Buh1-%date:~-10%.dt" /UC"КодРазрешения" echo Achivation... "C:\Program Files\WinRAR\WinRAR.exe" A c:\Backup1C\Buh1-%DATE%.RAR "C:\BackUp2\Buh1-%date:~-10%.dt" echo Removing temporary files... del C:\BackUp2\Buh1-%date:~-10%.dt echo Enable users start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe ENTERPRISE /F"C:\DemoAcc" /N"Абдулов (директор)" /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" echo Archive in C:\Backup1C\ echo Accounting base 1 successfully saved echo. echo Opening Accounting base 2 echo Disable users... start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe ENTERPRISE /F"C:\DemoAcc2" /N"Абдулов (директор)" /WA- /AU- /DisableStartupMessages /C"ЗавершитьРаботуПользователей" echo Backup database... start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe DESIGNER /F"C:\DemoAcc2" /N"Абдулов (директор)" /DumpIB "C:\BackUp2\Buh2-%date:~-10%.dt" /UC"КодРазрешения" echo Archivation... "C:\Program Files\WinRAR\WinRAR.exe" A c:\Backup1C\Buh2-%DATE%.RAR "C:\BackUp2\Buh2-%date:~-10%.dt" echo Removing temporary files... del C:\BackUp2\Buh2-%date:~-10%.dt echo Enable users start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe ENTERPRISE /F"C:\DemoAcc2" /N"Абдулов (директор)" /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" echo "Archive in C:\Backup1C\" echo Accounting base 2 successfully saved echo. echo Opening HRM base echo Disable users... start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe ENTERPRISE /F"C:\DemoAcc3" /N"Абдулов (директор)" /WA- /AU- /DisableStartupMessages /C"ЗавершитьРаботуПользователей" echo Backup database... start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe DESIGNER /F"C:\DemoAcc3" /N"Абдулов (директор)" /DumpIB "C:\BackUp2\ZUP-%date:~-10%.dt" /UC"КодРазрешения" echo Archivation... "C:\Program Files\WinRAR\WinRAR.exe" A c:\Backup1C\ZUP-%DATE%.RAR "C:\BackUp2\ZUP-%date:~-10%.dt" echo Removing temporary files... del C:\BackUp2\ZUP-%date:~-10%.dt echo Enable users start /wait /d"C:\Program Files\1cv82\8.2.17.143\bin\" 1cv8.exe ENTERPRISE /F"C:\DemoAcc3" /N"Абдулов (директор)" /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" echo Archive in C:\Backup1C\ echo HRM base successfully saved exit |
|||
28
Labrador
03.04.13
✎
10:04
|
ойойой... ну вобщем это все один сплошной .bat...
|
|||
29
Labrador
03.04.13
✎
16:02
|
+(27) Если кому интересно. Когда запущен только один экземпляр Предприятия(Запущенный через Батник), база блокируется довольно быстро. Если присутствуют другие подключения, то времени на их закрытие тратится довольно много(в моем случае 7-8 минут). Так что если будете пользоваться не удивляйтесь что система может "задуматься".
Всем спасибо за помощь, если кому-нибудь будет интересно, чуть позже закину вариант с параметрами =) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |