Обычный рестарт САС1С не завершает сеансы пользователей.
Танцы с бубнами над временем перезагрузки сиквела, сервера приложения, терминальных станций и временем рестарта САС1С ни к чему не привели.
Помогло только удаление основного кэша баз, а именно папки, содержащей «snccntx».
P.S.
— Изменения между ‘rem //аИзм(‘ и ‘rem //аИзм )’, для наглядности выделил
— Для х86 нужно указывать set «directory=C:Program Files (x86)1cv8srvinfo
eg_1541»
— Сам скрипт немного отличается от оригинального, который представлен в сети с использованием ‘sleep’ + убрал записи в логфайл.
Никто их не читает)))
— описание скрипта
Останавливаем САС1С;
Ищем в указанной директории папку с частью наименования «snccntx».
если она одна — удаляем
если больше, чем одна — не трогаем
если нету — ничего не делаем
если невозможно удалить — типа пишем в лог
Запускаем САС1С
@echo off& setlocal
rem \—— начало скрипт остановки и запуска агента сервера 1С Предприятия—-\
set timeout=20
::net stop «1C:Enterprise 8.3 Server Agent»
SC STOP «1C:Enterprise 8.3 Server Agent (x86-64)»
timeout /t %timeout% /nobreak >nul
rem //аИзм (
set «directory=C:Program Files1cv8srvinfo
eg_1541»
set «known_part=snccntx»
rem set «log_file=MyLog.txt»
set n=0
pushd «%directory%»
for /f %%i in (‘2#k8SjZc9Dxk>nul dir/ad/b «*%known_part%*»‘) do (
set/a n+=1
call set $%%n%%=%%i
)
popd
rem >>»%log_file%» (
if %n% equ 0 (
echo %date% %time% Таких папок не найдено.
)
if %n% equ 1 (
pushd «%directory%»
2>nul rd/q/s «%$1%»&& (
echo %date% %time% Удалена папка «%$1%».
)|| (
echo %date% %time% Папка «%$1%» найдена, но удалить полностью её не удалось.
)
popd
)
if %n% gtr 1 (
echo %date% %time% Таких папок найдено %n%:
cmd/v/c «for /l %%i in (1 1 %n%) do @echo !$%%i!»
)
rem )
rem //аИзм )
SC START «1C:Enterprise 8.3 Server Agent (x86-64)»
::net start «1C:Enterprise 8.3 Server Agent»
timeout /t %timeout% /nobreak >nul
rem \—— конец скрипт остановки и запуска агента сервера 1С Предприятия—-\
endlocal& exit/b
Отдельное огромное, персональное спасибо форумчанину с ником ‘ComSpec’ с ‘www.cyberforum.ru’ в помощи написания кода.
Нужно посмотреть. Как-то сами батник в организации писали для перезапуска службы.
Подскажите, почему папки не надо удалять, если их несколько?
(2) stavrovich, патамушта папка, содержащая «snccntx», должна быть одна, если их больше чем одна — что-то пошло не так, и не факт что после удаления она создатся автоматически
Подскажите, у меня был похожий скрипт:
net stop «1C:Enterprise 8.3 Server Agent (x86-64)»
ping -n 10 localhost
cd «E:svrinfo1C83srvinfo
eg_2541»
for /D %%i in (snccntx*) do rmdir /s /q %%i
net start «1C:Enterprise 8.3 Server Agent (x86-64)»
Раньше когда путь журнала регистрации был стандартный все работало. Но после переноса, путь как в скрипте, snccntx* не чистит файлы, возникают проблемы с повисшими сеансами.
Ваш скрипт тоже не помог, подскажите, в чем может быть проблемы. У пользователя от которого запускается батник и пользователя от которого запускается служба 1С права админа есть на компьютере и полный доступ к папкам где лежит журнал регистрации тоже есть.
(4) retker,
Здравия!
а фиг знает.
У меня на 2012 винде тоже перестал отрабатывать, проблему пока не ковырял, как наковыряю — обновлю публикацию
Отрабатывает через ПоверШел
stop-service ‘1C:Enterprise 8.3 Server Agent (x86-64)’
Remove-Item «C:Program Files1cv8srvinfo
eg_1541*» -recurse -exclude 1CV8Clst.lst,1CV8Clsto.lst
Start-Service ‘1C:Enterprise 8.3 Server Agent (x86-64)’