|
v7: переиндексация при загрузке сервера | ☑ | ||
---|---|---|---|---|
0
rikkar
17.01.23
✎
22:04
|
Будьте здравы все!
Вопрос такой: Есть 1С7.7 дбф-база на файловом сервере (WinServ 2008, 64bit), которую надо переиндексировать при каждой загрузке сервера. Когда и кто первым на сервере залогинится - неизвестно. Логично создать задачу в планировщике от имени системы, ИМХО - так как на картинке https://pastenow.ru/6a8ccf4b5b4f161a09fe46434cf65b52 Есть простой пакетник, в котором 4 задачи: https://pastenow.ru/2ada6314427f2d20cb81c3afd8320eb1 Но у системы при запуске 1С доходит только до приглашения (вызов окна со списком баз), я так предполагаю, т.к. объем памяти этот процесс в ТМ занимает приблизительно такой. И дальше процесс не идет. Другие строки пакетного файла, не связанные с запуском 1С, выполняются без проблем. Вопрос к знатокам, как решить данную задачу. Буду благодарен за подсказки. |
|||
1
Злопчинский
18.01.23
✎
00:03
|
каким образом перезагрузка сервера и логин на сервер связаны - для меня загадка.
похрен кто залогинится и залогинится ли вообще. поставь в автозагрузку сервера запуск 1ски с нужными ключами командной строки конфигуратора (пакетный запуск конфигуратора) и все. param.ini [General] Output=reindex.log Quit=Y CheckAndRepair=Y UnloadData=N SaveData=N AutoExchange=N [CheckAndRepair] Repair=N PhysicalIntegrity=N Reindex=Y LogicalIntegrity=N RecalcSecondaries=N RecalcTotals=N Pack=N SkipUnresolved=N CreateForUnresolved=N Rreconstruct=N батник "c:\program files\1cv77.adm\bin\1cv7.exe" config /Dхренанеполныйпутькаталогабазы /Nхренанеимя /Pхренанепароль /@хренаанеполныйпутькпарамини |
|||
2
ЯнСмит
21.01.23
✎
13:33
|
(0) на хрена вообще запускать конфигуратор? это обычно делается так - в батнике сносишь все индексы (*.cdx) и далее запускаешь базу монопольно в режиме предприятия под фиктивным пользователем - для которого при входе в ПриНачалеРаботыСистемы() прописано ЗавершитьРаботуСистемы() ... причем попутно можно сделать еще кучу полезных вещей, как то автоматическое открытие периода и пр.
|
|||
3
rikkar
21.01.23
✎
15:11
|
(1) "поставь в автозагрузку сервера запуск 1ски с нужными ключами командной строки конфигуратора (пакетный запуск конфигуратора) и все."
пробовал помещать батник в автозагрузку сервера такими способами: 1 - shell:common startup - в папку "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" запускается при входе первого пользователя на сервер. Надо, чтобы система не ждала пользователя. 2 - ч-з gpedit.msc - Конфигурация компьютера - Конфигурация Windows - Сценарии (запуск/завершение) - Автозагрузка Батник поместил в "C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup" и указал в автозагрузке. вообще не отрабатывает батник такой: echo off schtasks /change /tn 1CTovar /disable schtasks /change /tn 1CZakaz /disable TASKKILL /F /IM 1cv7.exe /IM 1cv7.exe start "" "C:\Program Files (x86)\1Cv77\BIN\1CV7.exe" config /DD:\Work\TEST\ /N"Reindex" /P"123123" /@D:\Work\TEST\Reindex.prm timeout /T 600 schtasks /change /tn 1CTovar /enable schtasks /change /tn 1CZakaz /enable (2) спасибо, но нужна только переиндексация. Запуск ч-з config файла сценария Reindex.prm решает задачу |
|||
4
rikkar
21.01.23
✎
15:15
|
к сожалению предпросмотра сообщения нет, получилась какая-то каша
батник такой: echo off schtasks /change /tn 1CTovar /disable schtasks /change /tn 1CZakaz /disable TASKKILL /F /IM 1cv7.exe /IM 1cv7.exe start "" "C:\Program Files (x86)\1Cv77\BIN\1CV7.exe" config /DD:\Work\TEST\ /N"Reindex" /P"123123" /@D:\Work\TEST\Reindex.prm timeout /T 600 schtasks /change /tn 1CTovar /enable schtasks /change /tn 1CZakaz /enable |
|||
5
Злопчинский
21.01.23
✎
15:16
|
(3) /N"Reindex" - открой доку и почитай как должно задаваться имя и пароль.
|
|||
6
Злопчинский
21.01.23
✎
15:19
|
TASKKILL - поосторожней...
если это выполняется при перезагрузке сервера - то нафига килять несуществующие задачи. если предусматривать что батник может быть запущен в любйо момент - надо учитывать что ты закиляешь ВСЕ ЗАПУЩЕННЫЕ 1Ски. в т.ч. и сеансы которые не надо килять (другие базы, бухи которые в бухбазе, а тебе только торговую надо).. заодно и закиляешь конфигуратор, ва котором у тебя несохраненный код... |
|||
7
rikkar
21.01.23
✎
15:38
|
(6) на данном сервере только одна рабочая база, так что норм. В конфигураторе там не работаю.
А килять надо на тот случай, если раньше запустится какая-либо запланированная задача (которые в батнике останавливаю). Поэтому сначала останавливаю (отменяю), затем тасккилл и запуск переиндексации. Вопрос, как поставить в автозагрузку. (5) убрал кавычки |
|||
8
Злопчинский
21.01.23
✎
15:42
|
как вариант применения
tskill *1cv7* /a |
|||
9
Злопчинский
21.01.23
✎
15:44
|
(7) получилось?
|
|||
10
rikkar
21.01.23
✎
15:54
|
Сейчас после перезагрузки сервера картина такая:
- задачи (из батника) в состоянии "Отключено" - что и требуется. Ч-з 10 мин включатся - процесс 1CV7.exe*32 пользователь "система", ЦП=0, память=1348КБ, что не соответствует процессу переиндексации. А соответствует, как если я открою окно приглашения 1С (список баз) Этот процесс останется висеть, т.к. переиндексация не произойдет. Такая же картина была и тогда, когда ставил в планировщике задачу от имени системы на загрузку https://pastenow.ru/6a8ccf4b5b4f161a09fe46434cf65b52 |
|||
11
Злопчинский
21.01.23
✎
16:28
|
запусти батник под собой и посмотри что происходит.
у тебя тупо может висеть стартовое окно если база неправильно указана, или диалог имя пароль. |
|||
12
Fram
22.01.23
✎
12:03
|
(0) попробуй выполнять с повышенными правами. Там Галка есть в задаче
|
|||
13
Fram
22.01.23
✎
12:04
|
* с наивысшими правами
|
|||
14
rikkar
22.01.23
✎
12:37
|
(11) подо мной выполняется - открывается конфигуратор, окно ТиИ с галкой реиндексации
(12) спасибо, попробую. |
|||
15
Bigbro
23.01.23
✎
04:33
|
под тем пользователем под которым надо запустить один раз надо вручную стартануть.
чтобы добавить базу в список. если этого не сделать то при запуске будет висеть окно с добавленной базой и ждать нажатия кнопки "ОК", но это окно увы никто не увидит. |
|||
16
Злопчинский
23.01.23
✎
07:44
|
"под тем пользователем под которым надо запустить"
тут имеется в виду ВИНДЯВЫЙ пользователь. |
|||
17
Bigbro
23.01.23
✎
07:53
|
ну да, виндовый, логично, профили же у всех разные, списки баз свои.
ну или в реестр скинуть ветку. |
|||
18
rikkar
23.01.23
✎
09:29
|
(15) во-во, крутилось такое в голове. Но я то хочу запускать под т.н. пользователем "система".
Т.е. ОС загрузилась, никого из созданных пользователей (у кого может быть свой профиль) в системе нет. Только так называемый "пользователь" "система" присутствует. Только под ним я не могу стартануть, чтобы добавить базу в список баз. Хотя она ведь прописана в батнике, чего еще надо? |
|||
19
Builder
23.01.23
✎
09:31
|
(18) Что мешает запускать под конкретным пользователем ????
Ему заходить не надо для этого. В шедулере прописать пароль и все. Уже давно бы сделал. |
|||
20
DJ Anthon
23.01.23
✎
09:31
|
(18) давно у меня такая хрень была. надо ключи в реестре занести, чтобы конфигуратор ничего не спрашивал
|
|||
21
DJ Anthon
23.01.23
✎
09:33
|
что-то вроде
reg QUERY "HKCU\Software\1C\1Cv7\7.7\Options\TIPOTHDAYGLB" >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKCU\Software\1C\1Cv7\7.7\Options\TIPOTHDAYGLB" /f reg QUERY "HKCU\Software\1C\1Cv7\7.7\Options\TIPOTHDAYGLB" /v TipOfTheDayGlobal >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKCU\Software\1C\1Cv7\7.7\Options\TIPOTHDAYGLB" /v TipOfTheDayGlobal /t REG_SZ /d "0" /f reg QUERY "HKCU\Control Panel\Desktop" >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKCU\Control Panel\Desktop" /f reg QUERY "HKCU\Control Panel\Desktop" /v AutoEndTasks >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKCU\Control Panel\Desktop" /v AutoEndTasks /t REG_SZ /d "1" /f reg QUERY "HKCU\Software\Sysinternals\Handle" >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKCU\Software\Sysinternals\Handle" /f reg QUERY "HKCU\Software\Sysinternals\Handle" /v EulaAccepted >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKCU\Software\Sysinternals\Handle" /v EulaAccepted /t REG_DWORD /d 1 /f reg QUERY "HKU\S-1-5-18\Software\Sysinternals\Handle" >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKU\S-1-5-18\Software\Sysinternals\Handle" /f reg QUERY "HKU\S-1-5-18\Software\Sysinternals\Handle" /v EulaAccepted >> nul 2>>nul if ERRORLEVEL 1 reg ADD "HKU\S-1-5-18\Software\Sysinternals\Handle" /v EulaAccepted /t REG_DWORD /d 1 /f |
|||
22
DJ Anthon
23.01.23
✎
09:34
|
лишние закинул )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |